Problema
Leí la documentación en el sitio web de Laravel, Stack Overflow y Google, sin embargo, no estoy seguro de entender la diferencia entre Ruta :: recurso
y Ruta :: controlador
.
Una respuesta que encontré dijo Ruta :: recurso
fue para crud. Sin embargo, con Ruta :: controlador
Podemos lograr lo mismo que con Ruta :: recurso
y solo podemos especificar las acciones necesarias.
Parecen ser como hermanos:
Ruta :: controlador ('post', 'postcontroller');Cómo podemos elegir qué usar? Cual es la mejor practica?
Solución
Controlador de recursos RESTful
Un controlador de recursos RESTFUL establece algunas rutas predeterminadas para usted e incluso las nombra.
Ruta :: Resource ('Usuarios', 'UsersController');Te da estas rutas nombradas:
Nombre de ruta de acción de la ruta verbalY configuraría su controlador algo como esto (Acciones = Métodos)
Class UserScontroller extiende BasecontrollerTambién puede elegir qué acciones están incluidas o excluidas así:
Ruta :: Resource ('Usuarios', 'UsersController', [Documentación del controlador de recursos RESTFUL
Controlador implícito
Un controlador implícito es más flexible. Te enrutan a los métodos de su controlador en función del tipo de solicitud HTTP y el nombre. Sin embargo, no tiene nombres de ruta definidos para usted y atrapará todas las subcarpetas para la misma ruta.
Ruta :: controlador ('usuarios', 'UserController');Te llevaría a configurar el controlador con una especie de esquema de nomenclatura relajante:
clase UserController extiende BasecontrollerDocumentación implícita del controlador
Es una buena práctica usar lo que necesita, según su preferencia. Personalmente, no me gustan los controladores implícitos, porque pueden ser desordenados, no proporcionar nombres y pueden ser confusos al usar rutas artesanales PHP. Por lo general, uso controladores de recursos RESTful en combinación con rutas explícitas.
La otra opinión es que es posible que no desee crear demasiados controladores para cada acción, que incluiría todos los métodos Crud. En ese caso, use los controladores implícitos.