Tipos de controladores

Opciones del comando make:controller

Tipos de controladores

En esta publicación probaremos cada uno de las opciones que nos proporciona el comando “php artisan make:controller”

Es normal que al empezar en Laravel desconozcamos las opciones que no ofrece el comando “php artisan make:controller” y es que este comando para crear controladores tiene muchas opciones que pueden serte muy útiles y ayudarte a ahorrar tiempo; si sigues creando controladores sin agregarle alguna opción, esta publicación fue escrita para ti.

¿Para qué sirven las opciones del comando make:controller?

En general las opciones de un comando suelen ser pequeños apoyos para el programador, en la imagen a continuación usamos “--help” para poder ver todas las opciones que Laravel nos pone a disposición; dentro de las mismas “--model” por ejemplo, conectara el controlador que crees con un modelo existente en tu proyecto, e incluso si el modelo no existe te permitirá crearlo al momento; “--quiet” hará que el controlador que crees no genere un mensaje en la consola; “--version” te mostrará la versión de Laravel que tiene tu proyecto, aunque esta opción no es propia de controladores ya que la puedes usar sin necesidad de crear uno, de la forma “php artisan --version”. 

comando_help

Muchas de las opciones también puedes usarlas desde otros comandos, pero dentro de lo que compete únicamente a controladores destacó tres opciones que son las que marque de rojo en la imagen anterior, que hacen que nuestros controladores ya se creen preseteados según lo que necesitemos:

Controlador invocable (-i)

php artisan make:controller PruebaController -i

Esta opción es la abreviación de “invokable” al agregarlo al comando, se creará el controlador con un solo método “__invoke”. Es útil cuando no estás buscando un controlador que haga un CRUD, sino uno en el que solo necesitas que la ruta que use el controlador haga una unica accion, que tu colocaras dentro de la funcion “__invoke”

Para llamar a un controlador de este tipo, en tu archivo routes no tienes que especificar el nombre de la función, solo basta con el nombre del controlador, como se ve en el ejemplo:

controlador_invocable

Controlador tipo recurso (-r)

php artisan make:controller PruebaController -r

Esta opción es la abreviación de “resource” al agregarlo al comando generará un controlador tipo recurso con siete funciones para que puedas hacer un CRUD que además retornará vistas, esto es muy importante, porque las funciones “create” y “edit” se usan justamente para mostrar las vistas que contienen los formularios que normalmente el frontend usa para crear o editar un recurso.

Las siete funciones son las que se muestran en la imagen a continuación:

controlador_recurso

Controlador tipo API (--api)

php artisan make:controller PruebaController --api

Esta opción no tiene una abreviación es simplemente “--api” y como el nombre indica creará un controlador tipo API cuya principal diferencia con un controlador de tipo recurso es que estos no tiene las funciones “create” y “edit” porque un controlador tipo API no interactúa con el frontend, sino que simplemente le sirve data. Tenemos todo una publicación en codea.app sobre como crear CRUDs API, revisala si te interesa más el tema.

controlador_api
 

No hay descargable

Redactado por: vidalrodrigo, Leido 935 veces

CURSOS DE PROGRAMACIÓN CON PROYECTOS

© Todos los derechos reservados Codea App FullStack | Cursos de programación avanzados | 2020 - 2021