Ce este un Resource Controller in Laravel?
Stefanescu Mihai 2 years ago iNoobIn acest articol vreau sa povestesc putin despre controllerele de tip resourse din laravel.
Un controller de tip resourse este de fapt un controller care implementeaza toate metodele necesare unui CRUD (create, read, update, delete) pe o anumita resursa.
Puteti face un astfel de controller folosind comanda de artisan
php artisan make:controller ArticleController --resource
Aceasta comanda va va face un fisier nou, ArticleController, in folder-ul de cotnrollere cu urmatoarele metode definite: index, show, create, store, edit, update, destroy.
Atentie, artisan-ul va va face numai un `schelet`, metodele nu vor fi implementate, asta este treaba voastra.
Acum ca am discutat despre controller, hai sa discutam despre rute.
Putem creea rute pentru toate aceste metode cu o singura linie in fisierul routes/web.php
Route::resource('articles', 'ArticleController');
Aceasta linie de fapt va defini urmatoarele rute:
GET /articles [email protected] GET /articles/create [email protected] POST /articles [email protected] GET /articles/{id} [email protected] GET /articles/{id}/edit [email protected] PUT /articles/{id} [email protected] DELETE /articles/{id} [email protected]
De asemenea, putem specifica exact ce rute ne sunt necesare folosind:
Route::resource('articles', 'ArticleController')->only(['index', 'show']);
sau pentru a exclude anumite rute
Route::resource('articles', 'ArticleController')->except(['create', 'store', 'update', 'destroy']);
Sper ca acest articol v-a fost util!