Mengenal Framework Laravel

Sebelum kita belajar Laravel, ada baiknya kita berkenalan dulu dengan web framework PHP satu ini. Framework ini terbilang baru karena muncul tahun 2011. Meski pun baru namun sudah merebut hati sejumlah pengguna, banyak pengguna dari framework lain yang bermigrasi ke Laravel. Bukan berarti framework lain itu jelek, setiap framework pasti punya kelemahan dan kelebihan masing-masing. Laravel meng-cover kelemahan framework lain dan menerapkannya di Laravel. Taylor Otwell sang pencipta Laravel memang dulunya adalah seorang pengguna framework CodeIgniter. Tingkat update atau jadwal rilis Laravel juga terbilang tinggi dan sangat dekat waktunya. Jika kita tidak mengikuti informasinya, maka kita akan tertinggal. Sering-seringlah berjunjung ke https://laravel-news.com/ untuk mendapatkan informasi terbaru tentang Laravel, atau kita bisa berlangganan melalui surel sehingga setiap informasi baru akan mudah kita mengetahuinya melalui email kita.

Setahun lalu (2017), Laravel mengeluarkan versi terbarunya yaitu 5.5, dan merupakan versi LTS (long-term-support), artinya akan mendapatkan dukungan yang cukup lama ketimbang versi biasa. Dukungan perbaikan bug untuk versi LTS adalah selama dua tahun dan perbaikan sekuritinya adalah selama tiga tahun. Bandingkan dengan versi biasa yang bukan LTS, dimana perbaikan bug dan keamanannya adalah masing-masing enam bulan dan satu tahun.  Setelah versi 5.5 dirilis, tak lama dari itu, Laravel mengembangkan versi terbarunya, yaitu 5.6, yang kini tela dirilis bulan Februari 2018 lalu.

Versi Rilis
1.0 11 Juni 2011
2.0 September 2011
3.0 22 Februari 2012
3.1 27 Maret 2012
3.2 22 Mei 2012
4.0 28 Mei 2013
4.1 11 Desember 2013
4.2 1 Juni 2014
5.0 4 Februari 2015
5.1 LTS 9 Juni 2015
5.2 21 Desember 2015
5.3 23 Agustus 2016
5.4 24 Januari 2017
5.5 LTS 30 Agustus 2017
5.6 Februari 2018
5.7 4 September 2018
5.8 26 Februari 2019
6.0 LTS 3 September 2019
7.0 3 Maret 2020
8.0 8 September 2020

Total Laravel telah mengeluarkan versi sebanyak 15 versi dimana setiap tahun Laravel merilis dua bahkan tiga kali versi. Pendeknya rentang waktu antara satu versi dengan versi lainnya menimbulkan masalah tersendiri bagi pengguna karena harus menyesuaikan kembali dengan cepat jika terjadi update mayor. Saat ini versi Laravel yang bisa kita gunakan adalah versi 5.1, 5.4, 5.5, dan 5.6.

Update (2021): Laravel sudah mengeluarkan 20 versi dengan versi terakhirnya yaitu versi 8.0 dan saat ini hanya ada 2 versi lama yang masih bisa didukung, yaitu versi 5.5 LTS dan 6.0 LTS.

Fitur-fitur Framework Laravel

  • Bundles menyediakan modular packaging system sejak rilis Laravel 3, dengan fitur bundle yang sudah tersedia untuk penambahan aplikasi dengan mudah. Selanjutnya, Laravel 4 menggunakan Composer sebagai manager dependensi untuk menambahkan agnostik framwork dan package PHP spesifik Laravel yang tersedia dari repositori Packagist.
  • Eloquent ORM (object-relational mapping) adalah implementasi PHP lanjutan dari pola record active, menyediakan pada saat yang sama metode internal untuk memaksakan batasan pada hubungan antara objek database.
  • Query Builder, tersedia sejak Laravel 3, menyediakan lebih banyak alternatif perintah mengakses database ke ORM Eloquent. Tidak membutuhkan query SQL, melainkan class dan method yang disediakan oleh Laravel Query Builder untuk membangun query secara pemrograman. Hal ini juga menyebabkan kita dapat memilih caching dari result yang dijalankan query.
  • Application logic merupakan bagian integral dari aplikasi yang dikembangkan, diterapkan dengan menggunakan controller atau sebagai bagian dari deklarasi route. Sintak yang digunakan untuk mendefinisikan application logic mirip dengan framework Sinatra.
  • Reverse routing menjelaskan hubungan antara link dan route, membuatnya memungkinkan untuk mengubah route menjadi kedalam link yang relevan. Bila link dibuat dengan menggunakan nama route yang ada, URI (uniform resources identifiers) dibuat otomatis oleh Laravel.
  • Restful controller menyediakan cara pilihan untuk memisahkan logika dibelakang yang melayani permintaan HTTP GET da POST.
  • Pemuatan otomatis Class menyediakan pemuatan otomatis class PHP tanpa memerlukan path inklusi maintenance secara manual. On-demand mencegah meload inklusi dari komponen yang tidak digunakan, jadi hanya komponen yang benar-benar digunakan saja yang akan diload.
  • View composers serce sebagai unit code logik yang dapat dieksekusi ketika sebuah view diload.
  • Blade templating engine menggabungkan satu atau beberapa template dengan model untuk menghasilkan tampilan yang dihasilkan, melakukanya dengan mengubah template menjadi kode PHP dalam cache untuk meningkatkan kinerja. Blade juga menyediakan satu kontrol tersendiri seperti pernyataan kondisional dan loop, yang dipetakan secara internal ke PHP.
  • Selanjutnya, layanan Laravel dapat dipanggil dari template blade, dan mesin templating itu sendiri dapat diperluas dengan perintah kustom.
  • Wadah IoC memungkinkan objek baru dihasilkan dengan mengikuti prinsip inversion of control (IoC), dimana framework meanggil kode aplikasi atau kode khusus tugas, dengan instantiasi opsional dan referensi obejk baru sebagai singletons.
  • Migration menyediakan versio control system untuk skema database, sehingga memungkinkan untuk mengaitkan perubahan dalam basis kode aplikasi dan perubahan yang diperlukan dala tata letak basis data. Akibatnya, fitur ini menyederhanakan penyebaran dan pemutakhiran aplikasi berbasis Laravel.
  • Database seeding menyediakan cara untuk mengisi tabel database dengan data default pilihan yang dapat digunakan untuk pengujian aplikasi atau dilakukan sebagai bagian dari penyiapan setup aplikasi.
  • Unit testing disediakan sebagai bagian dari integral Laravel yang berisi unit tes yang mendeteksi dan mencegak regresi dalam framework. Unit tes dapat dijalankan melalui perintah Artisan commnd-line.
  • Paginasi otomatis menyederhanakan tugas membuat paginasi, menggantikan pembuatan manual biasa dengan mode otomatis yang diintegrasikan ke dalam Laravel.
  • Form request adalah fitur Laravel 5 yang melayani dasar validasi form input, yang menghasilkan pemanggilan otomatis metode validasi form dan pembuatan form aktual.
  • Homestead adalah mesin virtual vagrant yang menyediakan pengembangan Laravel dengan semua alat yang diperlukan untuk mengembangkan Laravel langsung dari box, termasuk Ubuntu, Gulp, Bower dan tool development lainnya yang berguna dalam mengembangkan aplikasi web skala penuh.

Perintah Artisan Laravel

Command-line interface (CLI) Laravel disebut Artisan, awalnya diperkenalkan di Laravel 3 dengan serangkaian kemampuan yang terbatas. Kemudian migrasi Laravel ke arsitektur berbasis Composer memungkinkan Artisan untuk menggabungkan komponen yang berbeda dari framework Symfoni, sehingga kemampuan Artisan ditambahkan di Laravel 4.

Perintah Artisan membantu dalam mengelola dan membangun aplikasi berbasis Laravel. Penggunaannya seperti mengelola migrasi databasae dan seeding, mempublish aset package, dan menggenerate kode boilerplate untuk membuat file controller dan migration baru. Perintah Artisan dapat di kustom oleh pengguna dengan menambahkan perintah khsus baru agar setiap tugas yang selalu berulang dikerjakan dapat dibuat secara otomatis.

Demikian sedikit ulasan tentang framework Laravel, semoga bermanfaat...