Mengenal Framework PHP |Laravel

Gambar terkait

Laravel 

adalah salah satu framework PHP yang dirilis dibawah lisensi MIT ,yang dibangun dengan konsep MVC (Model View Controller).

Laravel adalah pengembangan website berbasi MVP yang ditulis dalam PHP yang sudah dirancang untuk meningkatkan kualitas dari perangkat lunak yang dikembangkan dengan mengurangi biaya pengembangan awal dan biaya pemeliharaan/maintenances , dan untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan sintaks yang ekspresif, jelas dan menghemat waktu.

MVC

MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika dari presentasi. MVC memisahkan aplikasi berdasarkan komponen- komponen aplikasi, seperti : manipulasi data, controller, dan user interface.

  1. Model,mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.
  2. View, adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.
  3. Controller,merupakan bagian yang menjembatani model dan view.

Fitur Fitur Framework Laravel

Beberapa fitur yang terdapat di Laravel :

  • Bundles, yaitu sebuah fitur dengan sistem pengemasan modular dan tersedia beragam di aplikasi.
  • Eloquent ORM, merupakan penerapan PHP lanjutan menyediakan metode internal dari pola “active record” yang menagatasi masalah pada hubungan objek database.
  • Application Logic, merupakan bagian dari aplikasi, menggunakan controller atau bagian Route.
  • Reverse Routing, mendefinisikan relasi atau hubungan antara Link dan Route.
  • Restful controllers, memisahkan logika dalam melayani HTTP GET and POST.
  • Class Auto Loading, menyediakan loading otomatis untuk class PHP.
  • View Composer, adalah kode unit logikal yang dapat dieksekusi ketika view sedang loading.
  • IoC Container, memungkin obyek baru dihasilkan dengan pembalikan controller.
  • Migration, menyediakan sistem kontrol untuk skema database.
  • Unit Testing, banyak tes untuk mendeteksi dan mencegah regresi.
  • Automatic Pagination, menyederhanakan tugas dari penerapan halaman.

Dalam pengembangan sebuah website ,php sangatlah penting digunakan .Banyak Framework dari PHP yang bisa kita gunakan ,ada codeigniter,zend framework ,yii2,dan salah satunya laravel .Adapun dari sekian pengguna framework ,tetap saja yang benar benar menggunakan php murni atau sering kita sebut PHP Native .

Artikel ini, saya tujukan bagi web developer yang masih senang menggunakan PHP native atau membuat “framework” sendiri. Tulisan ini tidak bermaksud menyalahkan pengguna PHP native, tapi lebih ke menambah wawasan kenapa sebaiknya kita menggunakan framework PHP pada umumnya, dan lebih khususnya framework Laravel.

Alasan Menggunakan Laravel dibanding PHP Native

1. Menghindari repetitive work

Mengembangkan berbagai fitur untuk website itu cukup memakan waktu. Apalagi jika kita membangunnya sendiri. Itulah sebabnya, dalam industri web itu ada yang namanya NIH (Not Invented Here). Jadi, untuk beberapa fitur web, kita serahkan ke library lain yang bukan hasil bikinan kita.

Contoh sederhananya adalah fitur export excel. Fitur ini sangat sering saya temui dalam membuat website. Bisa saja saya membuat library sendiri yang merubah file teks biasa menjadi excel, tapi pasti memakan waktu. Oleh karena itu, fitur ini selalu saya percayakan ke library PHPExcel.

Laravel, bekerja di bawah level library itu. Ia bekerja meng-abstraksi fitur-fitur native PHP. Banyak sekali contohnya, dari Session, Redirect, Autentikasi, Cache, Input, Lokalisasi, Routing, Database, Queue dan sebagainya. Yang jika saya jelaskan semuanya bisa selesai satu buku.

Saya contohkan dengan Routing. Dalam mengembangkan aplikasi PHP, pasti kita sering berurusan dengan URL. Yang paling sederhana, adalah kita membuat subfolder dengan berbagai file php di dalamnya. Misalnya:

index.php
/blog/index.php
/blog/berita/index.php
/blog/kategori/index.php
/kontak.php
dst..

Tentunya, cara seperti ini tidak efektif untuk dilakukan untuk aplikasi yang besar. Karena, kita tidak akan paham struktur URL di website yang dibangun tanpa melihat isi tiap foldernya.

Teknik lain dalam routing ini adalah dengan menggunakan pattern Front Controller. Jika Anda belum paham, pattern ini memungkinkan kita membuat sebuah aplikasi PHP dengan url yang kompleks tapi hanya memiliki satu file index. Pattern ini sangat sering ditemui di berbagai CMS populer misalnya wordpress.

Untuk membangun pattern ini, ada cukup banyak hal yang harus Anda lakukan dari membuat logic front controller dan setup url writing di web server (misalnya dengan .htaccess di apache).

Routing di Laravel akan memudahkan developer membuat aplikasi dengan pattern Front Controller. Routing Laravel telah mengabstraksi fitur URL di PHP untuk melakukan hal dasar ini. Contoh sederhananya, jika kita ingin membangun URL seperti diatas, kita cukup mengisi file routes.php dengan:

Route::get('/', ...);
Route::get('blog/{blog-title?}', ...);
Route::get('blog/berita/{id?}', ...);
Route::get('blog/kategori/{id?}', ...);
Route::get('kontak', ...);
dst...

Dengan cara ini, ada beberapa keuntungan:

  • Untuk menambah/mengubah/menghapus URL,2kita cukup memodifikasi file routes.php.
  • Untuk mengetahui route apa saja yang tersedia di aplikasi, kita pun cukup membuka file routes.php.

Bahkan Laravel menyediakan fitur untuk mengetahui semua route dengan satu perintah, yaitu php artisan routes. Ini salah satu contoh outputnya:

Output dari perintah php artisan routes

Tuh kan, Anda dapat langsung memahami URL apa saja yang tersedia di aplikasi ini.. ☺

2. Security

Bagi saya, keamanan aplikasi merupakan nomor satu dalam mengembangkan website. Terlebih jika website tersebut menyimpan banyak data yang sangat penting.

Keamanan merupakan hal yang terus berkembang. Riset terus dilakukan. Tiap hari celah baru ditemukan. Begitupun dengan penutup celahnya.

Mengikuti perkembangan keamanan aplikasi PHP, misalnya di phpsec, exploit-db, sensiolabs security, dsb bisa cukup melelahkan dan menyita waktu. Apalagi bagi seorang single fighter developer, udah capek bikin website, tambah capek lagi ketika websitenya di hack.

3. Quality

Sebagaimana saya jelaskan di poin 2. Laravel akan menjadi fondasi dari aplikasi yang kita bangun. Jika kita hendak membangun rumah, tentunya fondasi yang kokoh dan kuat akan menopang rumah yang besar. Bahkan, gedung pencakar langit sekalipun bisa dibangun diatasnya.

Yap, begitulah Laravel. Dimulai dari standar code yang mengikuti PSR0 dan PSR1. Begitupun dengan syntax dari framework ini, ada ratusan test yang berjalan ketika sebuah syntax baru dimasukkan ke dalam framework ini. Jadi, kita bisa memastikan bahwa framework ini benar-benar solid dan aman. Siap menjadi fondasi dari aplikasi kita, sebesar dan sekompleks apapun.

4. Memudahkan Teamwork

Alasan ini saya tujukan bagi Anda yang membuat framework sendiri. Saya ingin menantang Anda, seberapa cepat developer yang baru mempelajari framework yang Anda buat?

Tentunya, pasti beragam. Tergantung seberapa kompleks arsitektur framework yang Anda buat dan seberapa lengkap dokumentasinya. Belum lagi Anda akan direpotkan ketika developer baru tersebut mendapatkan sebuah fitur yang tidak dijelaskan di dokumentasi. Mencari di google pun di ngga akan ketemu, sekiranya framework ini hanya Anda gunakan di internal kantor (bukan opensource).

Berbeda kasusnya dengan menggunakan Laravel. Jika ada developer baru yang masuk ke project, dia cukup mempelajari dokumentasi resmi Laravel. Ini akan sangat menghemat waktu. Bahkan, ada penulis buku yang berani menjamin Anda paham Laravel dalam seminggu.

Suatu saat dia menemukan fitur yang tidak dipahami dari Laravel, dia cukup buka google dan lautan informasi akan datang menghampirinya. Ada pula forum resmi maupun tidak resmi yang siap menjawab pertanyaannya. Simple kan?

5. Interoperability

Jika Anda hendak membangun aplikasi open source, Anda harus memastikan codebase yang digunakan dipahami oleh banyak orang. Dengan begitu, akan lebih banyak orang yang akan berkontribusi di project tersebut.

6. Hemat Biaya

Perlu saya jelaskan lagi?? Oke, ini beberapa hal yang akan mengeluarkan biaya ketika Anda menggunakan PHP native atau membuat framework sendiri:

  • Membuat dokumentasi penggunaan
  • Membuat dokumentasi API framework
  • Maintenance security
  • Maintenance bug
  • Maintenance performa
  • dll.

7. Hemat Waktu

Dengan berbagai abstraksi yang dilakukan Laravel, Anda dapat lebih fokus memikirkan logic bisnis dari aplikasi yang Anda buat.

Tinggalkan komentar