Ce este un Resource Controller in Laravel?

postat acum 2 luni de Stefanescu Mihai in categorie iNoob

In 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!

Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group