Page 120 - 0149-curso-laravel-5_Neat
P. 120
Laravel 5
Controladores de recursos RESTful
Laravel incorpora un tipo especial de controlador, llamado controlador de recuso (recource
controller), que facilita la construcción de controladores tipo RESTful. Para esto
simplemente tendríamos que usar el comando de Artisan php artisan make:controller
<nombre-controlador> --resource para crear el controlador y añadir la ruta al fichero de rutas
routes/web.php usando Route::resource .
Por ejemplo, para crear un controlador para la gestión de imágenes almacenadas en la
aplicación, en primer lugar ejecutaríamos el siguiente comando:
php artisan make:controller PhotoController --resource
Esto crearía el controlador PhotoController (incluyendo todos los métodos necesarios) en
la carpeta app/Http/Controllers . Lo único que nos faltaría es registrar las rutas asociadas
añadiendo al fichero routes/web.php la siguiente línea:
Route::resource('photo', 'PhotoController');
Esta línea de ruta crea por si sola múltiples rutas para gestionar todos los tipos de
peticiones RESTful. Además, el controlador creado mediante Artisan estará preparado con
todos los métodos necesarios para responder a todas las peticiones correspondientes. En la
siguiente tabla se muestra un resumen de todas las rutas generadas, el tipo de petición a la
que responden y la acción que realizan en el controlador:
Verbo Ruta Acción Controlador / método
GET /photo index PhotoController@index
GET /photo/create create PhotoController@create
POST /photo store PhotoController@store
GET /photo/{resource} show PhotoController@show
GET /photo/{resource}/edit edit PhotoController@edit
PUT/PATCH /photo/{resource} update PhotoController@update
DELETE /photo/{resource} destroy PhotoController@destroy
Restringir rutas en un controlador RESTful
Controladores de recursos RESTful 120