Pengenalan Lumen Framework, Micro Framework Berbasis PHP

Rizky Fauzi 30 Oktober 2017

Pengenalan Lumen Framework, Micro Framework Berbasis PHP

Kali ini kita akan membahas tentang salah satu Micro Framework PHP buatan Laravel yang belum terlalu lama dirilis dan difokuskan untuk membuat REST API atau website dengan skala kecil. Dalam halaman websitenya https://lumen.laravel.com/ mengklaim bahwa Benchmarking Speed dari Lumen mengalahkan Slim, wow! Menarik bukan? Yuk mari kita berkenalan lebih dekat dengan Lumen.

Apa itu Lumen?

Lumen adalah Micro Framework yang diciptakan pengembang Laravel untuk mengakomodasi kebutuhan developer yang ingin membuat aplikasi dalam skala lebih kecil dari Laravel. Karena banyak library yang dihilangkan dalam bundle source code, Lumen bisa dijadikan framework untuk membuat REST API.

Bedanya dengan Framework sejenis?

Ada beberapa Micro Framework lain yang dikhususkan untuk membuat REST API pada PHP seperti Slim Framework, Silex dll tentu dengan keistimewaanya masing-masing, namun yang menarik adalah Lumen dalam lamannya mampu menghandle hingga 1900 request per second! Kalah tipis dari Slim Framework yang katanya hanya dapat menghandle 1800 request per second. Perbedaan lain yaitu Lumen menggunakan PHP versi ke 7 sebagai syarat penggunaannya, sedangkan Slim masih bisa digunakan PHP versi 5 ke atas.

Image

Fitur Unggulan

Lumen sudah dibundle dengan Eloquent ORM agar proses pengqueryan lebih mudah dan tidak memakan waktu karena kita tidak perlu lagi mengetik query yang panjang dan sederet fitur lain seperti Caching, Queues, Validation, Routing, Middleware dan powerful Laravel service container dll. Waduh apaan tuh :D tenang nanti kita bahas satu satu.

####1. Caching Dalam lamannya menyebutkan Laravel menyediakan API terpadu untuk berbagai sistem caching. Konfigurasi cache terletak di file .env. Dalam file ini Anda dapat menentukan driver cache mana yang ingin Anda gunakan secara default di seluruh aplikasi Anda. Laravel mendukung backend caching yang populer seperti Memcached dan Redis di luar kotak.

####2. Queues Dalam lamannya menyebutkan Layanan antrian Lumen menyediakan API terpadu di berbagai ujung belakang antrian yang berbeda. Antrian memungkinkan Anda menunda pemrosesan tugas yang memakan waktu, seperti melakukan tugas di server jauh, sampai waktu yang secara drastis mempercepat permintaan web ke aplikasi Anda.

####3. Validation Dalam lamannya menyebutkan Lumen menyediakan beberapa pendekatan berbeda untuk memvalidasi data masuk aplikasi Anda. Secara default, kelas pengendali dasar Lumen menggunakan fitur ProvidesConvenienceMethods yang menyediakan metode yang mudah digunakan untuk memvalidasi permintaan HTTP masuk dengan berbagai aturan validasi yang kuat.

####4. Routing Pengaturan terhadap URL yang terdiri dari beberapa method dan bisa menyematkan/mengambil parameter pada URL sesuai dengan aturan penulisannya.

####5. Middleware Dalam lamannya menyebutkan Middleware HTTP menyediakan mekanisme yang mudah digunakan untuk memfilter permintaan HTTP yang masuk ke aplikasi Anda. Misalnya, Lumen menyertakan middleware yang memverifikasi pengguna aplikasi Anda telah diautentikasi. Jika pengguna tidak diautentikasi, middleware akan mengalihkan pengguna ke layar masuk. Namun, jika pengguna diautentikasi, middleware akan mengizinkan permintaan untuk melangkah lebih jauh ke aplikasi.

Instalasi

Kalau masih ada yang penasaran bagaimana sih wujud si Lumen itu yuk kita coba instal di komputer kita, tapi sebelum memulai instalasi ada beberapa hal yang harus disiapkan dari sisi server yaitu:

  1. PHP >= 7.0
  2. OpenSSL PHP Extension
  3. PDO PHP Extension
  4. Mbstring PHP Extension
  5. Install Composer, Lumen menggunakan Composer untuk mengatur dependencies. Jadi, sebelum menggunakan Lumen, pastikan Composer installed di komputer.

catatan:

  • penulis menggunakan sistem operasi windows
  • PHP 5 ke atas masih bisa install tapi nanti ada warning saat membuat proyek

Lanjut, pertama download Lumen installer menggunakan Composer:

  1. Buka command prompt
  2. Jalankan perintah berikut composer global require "laravel/lumen-installer"
  3. Tunggu sampai proses selesai

Oke sekarang installer Lumen sudah terinstall di folder composer, selanjutnya kita buat satu proyek atau folder untuk memulai menggunakan Lumen, caranya sebagai berikut:

  1. Buka command prompt
  2. Sesuaikan path folder sesuai dengan yang kita inginkan misal di folder htdocs/lumen
  3. Jalankan perintah berikut composer create-project --prefer-dist laravel/lumen blog
  4. Tunggu sampai proses selesai

Jika proses diatas sudah selesau maka nanti akan ada struktur folder seperti ini di dalam folder yang kita buat:

Image

Sampai dengan tahap ini Anda sudah berhasil menginstall Lumen dan dependesinya melalui Composer.

Sekian dulu pengenalan Lumen kali ini, dalam bahasan selanjutnya akan dijelaskan membuat program Hello World dan CRUD sederhana. Semoga Bermanfaat

Referensi

https://lumen.laravel.com/docs/5.5