Part 1 — Membuat API dengan Lumen

Lumen

https://lumen.laravel.com/
The stunningly fast micro-framework by Laravel.

Lumen adalah micro-framework dari laravel yang difokuskan untuk pembuatan web services atau API. Dikarenakan ini adalah micro-frameworknya laravel, maka bagi kamu yang sudah terbiasa dengan laravel akan sangat mudah menggunakan Lumen ini karena syntax yang digunakan sama dengan laravel hanya sedikit saja perbedaannya. Perbedaan yang paling terlihat tentu adalah ukuran file Lumen jauh lebih kecil dan ringan dari pada laravel .

Langsung saja untuk pembuatan API menggunakan Lumen, kita bisa menginstall project tersebut menggunakan composer.(pastikan kamu sudah menginstall composer ya)

composer create-project --prefer-dist laravel/lumen blog

Setelah berhasil diinstall, buka project tersebut di text editor favoritmu kemudian buka file .env pada project tersebut. Ubahlah konfigurasi pada baris DB_DATABASE, DB_USERNAME, dan DB_PASSWORD sesuai dengan nama database dan konfigurasi pada komputer kamu. Jika kamu menggunakan xampp, dan tidak pernah mengubah username dan passwordnya maka secara default akan memiliki username root dan password kosong.

Selanjutnya, kamu perlu mengisikan APP_KEY pada file .env . Pertama kali saya mencoba mengisikannya, saya menggunakan senjata andalan yaitu artisan karena basically, Lumen adalah ‘anaknya laravel’ .

php artisan key:generate

Tetapi teryata… error

sumber : http://wikihape.site/asal-meme-tidak-semudah-itu-ferguso-20-gambar-meme-ferguso-lengkap/?i=1

Hmmm…. ternyata ketika dicek menggunakan perintah php artisan list perintah tersebut tidak ada disana. Bahkan perintah-perintah artisan yang selama ini menjadi senjata andalan para developer Laravel juga banyak yang ‘dihilangkan’ dari Lumen seperti perintah make:model , make:controller, route:list.

Oke, namanya juga micro-framework . Mungkin banyak bagian laravel yang dihilangkan. Pantesan si Lumen ini katanya sih punya performa yang oke

Terus gimana kita buat APP_KEY nya ? terserah yang penting panjangnya 32, kombinasi huruf dan angka. Kalau saya sih ngikutin caranya mas Hakim Sembiring yaitu generate pake fungsi str_random . Tambahkan code dibawah pada file web.php

Sebelum mengakses via browser, jalankan dulu dengan

php -S localhost:8000 -t public
copy kan kode tersebut pada APP_KEY pada file .env

1. Membuat migration

php artisan make:migration create_books_table

Buka file migration yang kamu buat. Setelah kamu menjalankan perintah artisan diatas maka akan Lumen generate sebuah file migration didalam folder migration yang berada didalam folder database. Tambahkan kode untuk membuat kolom-kolom pada tabel books.

php artisan migrate

Maka secara otomatis didalam database akan dibuatkan tabel dengan nama books. Silahkan dicek melalui phpmyadmin, terminal, sequel, dll.

2. Membuat Model

Buat file bernama Book.php didalam folder app

3. Membuat Controller

Buat sebuah controller, kamu dapat menduplikat isi dari examplecontroller.php kemudian edit nama class menjadi BooksController dan untuk menggunakan model Book.php pada controller, tambahkan kode berikut diatas nama class

use App\Book; 

Buat function yang akan digunakan

4. Membuat Route

Buka folder routes kemudian tambahkan kode dibawah kedalam file web.php

5. Mengaktifkan Eloquent

Kita akan menggunakan eloquent untuk operasi data pada databasenya. Namun secara default Lumen men-disable si eloquent ini. Sesuai petunjuk dari dokumentasi resminya, kita perlu melakukan uncomment eloquent pada file bootstrap/app.php .

$app->withEloquent();

6. Let’s Code….

TEST…

create
index