Toko Nias DJbless

Kelebihan Resource Controllers Pada Laravel Serta Penggunaanya

kelebihan resource controllers laravel

Pernah mendengar Resource Controllers itu apa dan Kelebihan Resource Controllers pada Laravel itu apa? Namun sebelum itu saya akan memberikan sedikit gambaran tentang Laravel. Pada dasarnya Laravel merupakan suatu Framework yang dikembangkan untuk membantu pengembangan website, yang dibuat menggunakan bahasa pemrograman PHP atau Hypertext Preprocessor.

Meskipun sering menjadi pengembangan backend website yang sangat populer, kini Framework Laravel menjadi Backend Mobile Apps.

Laravel memiliki fitur utama, seperti Routing, Middleware hingga Controllers, salah satu jenis Controllers yaitu Resource Controllers yang menjadi pembahasan kita pada kali ini. Tak hanya itu saja, Laravel juga memiliki sistem keamanan yang sangat baik.

Pengertian Resource Controllers

Bagi sebagian Backend Web Developer, terutama yang sering menggunakan laravel, Controllers yang satu ini sangat familiar. Resource Controllers merupakan suatu cara mendefinisikan Controller pada Framework Laravel, contohnya untuk proses CRUD (Hampir sama tujuannya seperti Controllers biasa).

Dengan membuat Resource Controllers, maka file Controllers anda sudah otomatis memiliki otomatis menghandle semua actions pada CRUD (index, create, store, show, edit, update, and destroy).

Sebetulnya cara membuatnya sangat simpel, hanya dengan mengeksekusi kode dibawah ini pada terminal

php artisan make:controller NameController --resource

Namun jika ingin mengecualikan beberapa method atau action cukup memanggil code except pada route. Contohnya dibawah ini saya hanya mengecualikan action ‘show’ dan ‘update’.

Route::resource('URI', NameController::class)->except(['show','update']);

Sedangkan untuk memilih beberapa action cukup memanggil code only pada route. Seperti dibawah ini contohnya saya hanya menginginkan action ‘index’ , ‘store’, ‘update’ dan ‘destroy’

Route::resource('URI', NameController::class)->only(['index','show','update','destroy']);

Kelebihan Resource Controllers

Setelah saya memberikan pengertian dari Resource Controllers diatas, mungkin sesekali mulai terpikir apa kelebihan dari Resource Controllers. Berikut kelebihannya menurut pendapat dan pengalaman saya menggunakan Resource Controllers:

Route Definition Otomatis

Yang pertama ketika membuat Resource Controllers secara default sudah mendefinisikan beberapa hal, seperti ‘URI’, Action, dan Route Name. Seperti dibawah ini yang saya dapat langsung dari dokumentasi Actions Handled Laravel.

VerbURIActionRoute Name
GET/photosindexphotos.index
GET/photos/createcreatephotos.create
POST/photosstorephotos.store
GET/photos/{photo}showphotos.show
GET/photos/{photo}/editeditphotos.edit
PUT/PATCH/photos/{photo}updatephotos.update
DELETE/photos/{photo}destroyphotos.destroy
sumber: Laravel Documentation

Hemat Waktu

Berhubungan dengan yang pertama, kelebihan Resource Controllers yang kedua adalah anda tidak perlu membuat method-method untuk index, store, update, destroy dan lain-lainnya. Dengan begitu anda lebih fokus untuk mengatur logic pada website anda.

Dibandingkan dengan Controllers biasa, akan sangat merepotkan karena anda harus membuatnya satu per satu. Mulai dari menulis setiap ‘URI’ atau Uniform Resource Identifier, route name, hingga harus membuat function satu per satu pada file controller.

Codingan Lebih Rapi

Kelebihan yang terakhir adalah codingan menjadi lebih rapi. Apabila developer lain mencoba menganilisis kode yang anda buat menggunakan Resource Controllers mereka hanya perlu melihat dokumentasinya saja untuk memastikan ‘URI’ , route name, dan actionnya.

Dari segi baris juga, Resource Controllers sangat singkat. Defaultnya cukup sebaris saja, seperti pada codingan sebelumnya.

Menurut saya rasa, secara umum itulah kelebihan Resource Controllers dibandingkan dengan Controllers lain pada Framework Laravel. Namun kembali lagi ke tujuan awal, anda mau membuat apa. Apabila ingin membuat CRUD sederhana, Resource Controllers sangat cocok untuk digunakan.

Demikian informasi yang saya buat tentang Resource Controllers, untuk informasi lainnya tentang Resource Controllers bisa anda lihat di Resource Controllers.