Page 121 - 0149-curso-laravel-5_Neat
P. 121

Laravel 5



             En ocasiones nos interesará declarar solamente un subconjunto de las acciones que
             soporta REST, para esto, al declarar la ruta tipo   resource  tenemos que añadir un tercer

             parámetro con la opción   only  (para que solo se creen esas rutas) o   except  (para que se
             creen todas las rutas excepto las indicadas), por ejemplo:


                Route::resource('photo', 'PhotoController',
                                ['only' => ['index', 'show']]);


                Route::resource('photo', 'PhotoController',
                                ['except' => ['create', 'store', 'update', 'destroy']]);



             Los métodos que no utilicemos los podremos borrar del código generado para el
             controlador.



             Rutas adicionales en un controlador tipo

             RESTful




             Si queremos definir rutas adicionales para un controlador de recursos simplemente las
             tenemos que añadir al fichero de rutas   routes/web.php  antes que las rutas del propio
             recurso, por ejemplo:



                Route::get('photos/popular', 'PhotoController@getPopular');
                Route::resource('photos', 'PhotoController');



             Middleware




             Para añadir middleware a un controlador tipo recurso tenemos dos opciones. La primera es
             definir un grupo que lo englobe, por ejemplo:



                Route::group(['middleware' => 'auth'], function() {
                    Route::resource('photo', 'PhotoController');
                });



             La otra opción es definir el middleware en el constructor del controlador de la forma:
















             Controladores de recursos RESTful                                                          121
   116   117   118   119   120   121   122   123   124   125   126