Lorsqu'on désire effectuer des opérations CRUD (Create, Read, Update et Delete - traduit par MELA : Modifier, Effacer, Lire, Ajouter), on aura souvent besoin des même routes : une pour lister, une pour afficher le formulaire d'ajout, une pour enregistrer, etc.
Laravel a prévu un mécanisme pour créer automatiquement ces routes : les routes de type ressource :
Route::resource('nomressource', 'NomControleur');
Ex :
Route::resource('produits', 'ProduitsController');
Les routes générées sont résumées dans le tableau suivant :
Verbe HTTP | Chemin | Méthode d'action | Route nommée |
---|---|---|---|
GET | /produits | index | produits.index |
GET | /produits/create | create | produits.create |
POST | /produits | store | produits.store |
GET | /produits/{id} | show | produits.show |
GET | /produits/{id}/edit | edit | produits.edit |
PUT/PATCH | /produits/{id} | update | produits.update |
DELETE | /produits/{id} | destroy | produits.destroy |
L'utilisation de Route::resource() est en fait un raccourci pour le définitions de routes suivantes :
Route::get('/nomressource', 'NomControleur@index');
Route::get('/nomressource/{id}', 'NomControleur@show');
Route::get('/nomressource/create', 'NomControleur@create');
Route::get('/nomressource/{id}/edit', 'NomControleur@edit');
Route::post('/nomressource', 'NomControleur@store');
Route::put('/nomressource/{id}', 'NomControleur@update');
Route::delete('/nomressource/{id}', 'NomControleur@destroy');
▼Publicité