Controladores Avanzados
Hasta ahora hemos generado controladores y vistas que se comunican con elementos estáticos, pero que sucede cuando deseamos llevar nuestra aplicación a un nivel superior, pues no sucede mucho realmente, Laravel es tan amigable que podemos extrapolar lo que se ha venido haciendo a nuevos conceptos y todo fluye con mucha tranquilidad.
Entre estos conceptos debemos ampliar lo que sabemos de controladores, ya que conocemos que nos permiten agrupar varias acciones que nos ayudan a manejar las peticiones de los usuarios, pero también nos permiten interactuar con el modelo, es decir, traer información de Base de Datos, insertar información, etc.
En esta sección vamos a ver un poco más a fondo como manejar nuestros controladores, además de cómo utilizar Artisan para poder ayudarnos en la creación de un controlador en nuestra aplicación.
Escribiendo el Router
Habremos notado que para todo lo que tenga que ver con acceso a recursos de nuestra aplicación en Laravel tenemos que pasar por el Router, esto es así porque este componente es quien se encarga de establecer donde se deben buscar los recursos correspondientes.
Si queremos hacer un controlador integral, ya no podemos depender solo del método GET, puesto que es un método que puede ser fácilmente intervenido por el usuario, vamos a necesitar al menos incluir el método POST para que los datos viajen desde un formulario.
Para esto vamos a escribir nuestro archivo routes.php de la siguiente forma:
Esto nos crea todos los métodos HTTP necesarios para que podamos utilizar los recursos de nuestro controlador, es una forma de abreviar el llamado por cada uno de los métodos HTTP, de lo contrario tendríamos que hacer algo como esto:
Imaginemos tener que crear una línea en el Router por cada acción y cada método HTTP, esta forma es factible, sin embargo no es lo recomendable.
Crear el controlador con Artisan
Artisan es la otra herramienta que nos permite facilitar la vida de desarrollo cuando trabajamos en Laravel, si tenemos que crear un controlador con todos los métodos es un poco laborioso ya que debemos escribir mucho, sin embargo con Artisan podemos automatizar esto de forma que escribir un controlador es cuestión de ejecutar una sola instrucción por consola:
php artisan Usuariocontroller:make usuariosEsto es suficiente para que Artisan nos genere todo el código necesario para que solo tengamos que poner la lógica en nuestro controlador, sumado a la ruta de una sola línea, nos ha reducido una gran cantidad de trabajo. Una vez ejecutado el comando de Artisan, veremos algo como lo siguiente:
Podemos ver que cada acción posible de nuestro controlador básico está aquí, lo único que debemos hacer es colocar la lógica, esta gran ayuda hace que nos concentremos solo en los puntos importantes de la creación de nuestra aplicación.
Como vemos crear un controlador avanzado, no es más que un nombre para la continuación de lo que ya sabemos, Laravel ha hecho un gran esfuerzo por mantener la simpleza y así mantener el factor de disfrute para el programador al momento de realizar las aplicaciones.