Ce este un Resource Controller in Laravel?

iNoob | Stefanescu Mihai | 2020-10-11

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            ArticleController@index
GET    /articles/create     ArticleController@create
POST   /articles            ArticleController@store
GET    /articles/{id}       ArticleController@show
GET    /articles/{id}/edit  ArticleController@edit
PUT    /articles/{id}       ArticleController@update
DELETE /articles/{id}       ArticleController@destory

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!


Imi place ce faci aici
Daca iti place ce fac aici imi poti cumpara o cafea Buy Me a Coffee at ko-fi.com

Stefanescu Mihai
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.

Posteaza un comentariu

Comentarii

Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!

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 ⊞

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.

⮆ïļ