Olah Request dengan Controller pada Laravel

Part 8 — Controller

Eko Simanjuntak
Jan 6 · 3 min read
Photo by EJ Yao on Unsplash

Setelah mempelajari bagaimana penggunaan router, sekarang saya akan membahas penggunaan controller. Pada part sebelumnya saya sudah membahas mengenai pendefinisian router, HTTP Verbs, penggunaan path parameter, dan penggunaan query parameter. Sebelum kita lanjutkan ke materi, mari kita lihat kembali gambar dibawah ini.

Taken from selftaughtcoders.com

Jika kita perhatikan dari gambar diatas, maka request yang kita dapat pada router akan diteruskan ke controller. Lalu bagaimana cara kita mengimplementasikannya pada kode program kita?

Pertama kali kita perlu untuk membuat file controller kita menggunakan Artisan CLI. Untuk membuat file controller menggunakan Artisan CLI, jalankan perintah berikut

$ php artisan make:controller BookController -r

Dengan menjalan perintah diatas, file controller kita akan tergenerate secara otomatis. Sebelumnya kita lanjut, mari kita bedah perintah diatas.

  • BookController adalah parameter yang kita berikan sebagai nama dari file controller kita.
  • -r adalah flag yang kita berikan untuk memberitahukan kepada Artisan CLI untuk men-generate template fungsi yang standar pada file controller. Bingung? Mari kita coba membuat file controller baru menggunakan Artisan CLI tanpa flag -r dan menggunakan flag -r.

Berikut adalah file controller yang tergenerate tanpa menggunakan flag -r.

Berikut ada file controller yang tergenerate dengan menggunakan flag -r.

Bisa kita lihat perbedaannya, dimana pada file controller yang tergenerate menggunakan flag -r terdapat template fungsi. Template fungsi inilah yang nantinya kita isi sesuai dengan implementasi kita. Template fungsi yang tergenerate adalah standar untuk operasi CRUD.

Kemudian kita akan melengkapi template fungsi yang sudah ada. Kita juga akan mengubah kode program pada router kita sehingga router tidak akan mengembalikan data secara langsung melainkan akan mengarahkan request ke controller. Pengolahan request nantinya akan dilakukan oleh controller. Berikut adalah file controller and router seteleh dilengkapi.

Pada kedua potongan kode diatas, bisa kita perhatikan bagaimana cara mengarahkan request dari router ke controller. Pada router akan terdapat kode program seperti berikut.

Route::get('/books/{id}', 'BookController@show');

Mari kita bedah kode program diatas.

  • /books/{id} adalah path yang akan menampung satu parameter yaitu id. Kode program ini sama dengan kode program yang ada pada artikel sebelumnya.
  • BookController@show adalah action yang akan dilakukan ketika terdapat request yang mengarah ke path /books/{id}. Pengertian dari action ini adalah kita akan memanggil method show yang terdapat pada BookContoller.

Dengan perubahan kode program seperti diatas, kita telah memindahkan bisnis logic yang ada pada router ke controller. Hal ini akan membuat setiap komponen mengerjakan tugasnya masing-masing. Dengan memindahkan bisnis logic dari router, kita juga akan mengurangi banyaknya kode program pada file web.php dan separation of concert akan tercapai.


Taken from me.me

Sampai jumpa di-part berikutnya!

Cappy Hoding! ❤️ = ☕️ + 💻


Easyread

Easy read, easy understanding. A good writing is a writing that can be understood in easy ways

Eko Simanjuntak

Written by

SRE at Gojek

Easyread

Easyread

Easy read, easy understanding. A good writing is a writing that can be understood in easy ways

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade