Ce este un Resource Controller in Laravel?

Stefanescu Mihai 2 years ago 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!

Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.


Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.
Login Register

๐Ÿ”– Bookmarks โž•
โœจ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

๐ŸŒช๏ธ Discord โž•
Back to top
Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.