Single All 30 Desember 2017 5 min

Tutorial CRUD Lumen 5.4 : Microframework RESTful API untuk Laravel

Halo semua! Pada pagi ini gue ingin mengenalkan sebuah Microframework dari Laravel yang dikhususkan untuk RESTful API.

Tutorial CRUD Lumen 5.4 : Microframework RESTful API untuk Laravel

Image Halo semua! Pada pagi ini gue ingin mengenalkan sebuah Microframework dari Laravel yang dikhususkan untuk RESTful API. Kenapa sih Lumen dikhususkan untuk RESTful API ?Seperti yang kita ketahui, Laravel kan adalah salah satu Framework PHP yang sedang hype nih! Nah untuk membuat Laravel tetap diminati dari segala sektor baik Web Application maupun REST API, maka dari itu Laravel membuat Microframework. Lumen sendiri ini memang menjadi tandingan bagi framework lainnya seperti Slim, dan Silex. Bahkan menurut benchmarking yang dilakukan Lumen diwebsitenyasendiri. Lumen mampu menahan hingga 1900 Request Per Second. Waw! Amazing untuk Microframework.

Image Selain itu saat saya cek juga di github, pada tahun 2015 ada yang mencoba diantara Slim vs Lumen dan berikut hasilnya

Image Well tentunya sekarang Slim dan Lumen sudah semakin baik, tinggal kalian saja lebih cocok pake yang mana :) Sebelum kalian lanjut ada yang perlu diketahui terlebih dahulu, Pada default installer, Lumen sudah menaikkan versi ke 5.5 (Bersamaan dengan Laravel 5.5) namun pada pembuatan project ini gue menggunakan Lumen 5.4, Kenapa? Karena PHP yang gue gunakan masih PHP 5.6 (ada project yang ga support di PHP 7 T.T). So bagi kalian yang belum upgrade PHP 7 its okay, gue akan kasitau cara install Lumen 5.4. Nah bagi yang sudah PHP 7 tinggal ikutin saja! Cek spesifikasi requirement kaliandisini! Oke So let’s start with the code Pertama, Mari kita buat project Lumen dengan cara sbb: Bagi yang sudah PHP 7 akan menginstall Lumen 5.5

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

Bagi yang masih PHP 5.6 dan otomatis harus menggunakan Lumen 5.4

composer create-project laravel/lumen todoLumen "5.4.*" --prefer-dist

Kedua, mari tunggu hingga project selesai dibangun Ketiga, buka .env kalian dan edit bagian CACHE_DRIVER

CACHE_DRIVER=file

Defaultnya adalah Memcached, tapi entah kenapa kalau pake Memcached suka error gitu, waktu gue solving pakenya file. Keempat, buka bootstrap -> app.php dan UNCOMMENT bagian ini

$app->withFacades(); //baris 26$app->withEloquent();
$app->register(App\Providers\AppServiceProvider::class); //baris 81$app->register(App\Providers\AuthServiceProvider::class);$app->register(App\Providers\EventServiceProvider::class);

Pada defaultnya, baris tersebut di comment oleh Settingan awal Lumen, tugas kita adalah membuka coment tersebut (UNCOMMENT). Kenapa? Supaya kita bisa menggunakan fitur-fitur Lumen yang dibutuhkan untuk membuat REST API. Sekarang saatnya membuat migration as usually, nah pastikan kalian telah membuat database ya dan sesuaikan nama database kalian di .ENV

DB_DATABASE=todolumenDB_USERNAME=rootDB_PASSWORD=''

nama DB gue adalah todoLumen karena kita akan membuat RESTful API Todo List (kenapa harus Todo List? Siapa tau ada Developer Android yang sedang belajar buat API dan mampir di blog gue HEHEHEHE) Oke setelah ready sekarang saatnya buat migration!

php artisan make:migration table_todo  --create=todo

masuk ke database->migration->table_todo.php dan silahkan disamakan

public functionup(){Schema::create('todo',function(Blueprint $table) {$table->increments('id');$table->string('activity',200);$table->text('description');$table->timestamps();});}/*** Reverse the migrations.**@returnvoid*/public functiondown(){Schema::create('todo',function(Blueprint $table) {//});}

Lalu jalankan fungsi ini

php artisan migrate

Jika sudah berarti saatnya sekarang kita membuat controller. mau pake php artisan? EITS! Tunggu dulu, ini kita menggunakan Microframework and its mean udah banyak library bawaan Laravel yang sudah dicopot, fungsinya apa? ya biar makin ringan, makanya size folder Lumen engga akan sebesar defaultnya Laravel.

Image Okay so bagaimana cara membuatnya ? Ya ada cara gampang sih, kita masuk ke App->Http->Controllers nah didalam sini tentunya kita melihat ExampleController.php, buka filenya dan copy aja seluruh file yang ada di dalem. Sekarang kita akan membuat class baru, buat aja todoController.php dan paste semua isi file ExampleController.php nanti jadinya kaya gini

<?phpnamespaceApp\Http\Controllers;classtodoControllerextendsController