Controladores

En lugar de definir toda su lógica de gestión de solicitudes como cierres en archivos de ruta, puede organizar este comportamiento mediante clases de controlador. Los controladores pueden agrupar la lógica de manejo de solicitud relacionada en una sola clase. Los controladores se almacenan en el directorio app / Http / Controllers.

Crear Controller

Para la creación de un controlador poseemos dos opciones a través de comandos php artisan;

Controller Resource
php artisan make:controller 'NombreController' --resource
Controller
php artisan make:controller 'NombreController'

La diferencia entre estos dos métodos nombrados anteriormente es simplemente que la primera genera automáticamente las siguientes funciones: index, create, show, edit, store, update, destroy. Estas funciones solo se pueden acceder con las peticiones http específicas.

  • Metodo GET: Se accede al index, create, show, edit.
  • Metodo POST: Se accede al store.
  • Metodo PUT: Se accede al update.
  • Metodo DELETE: Se accede al destroy.
  • Metodo PATCH: Se accede al update.

Los controladores nos ayudan a agrupar estas peticiones en una clase que se liga a las rutas, en el archivo routes/web.php, para esto usamos un tipo de ruta llaman a resource:

Route::resource('proyectos', 'ProyectosController');

Funciones de un Controller Tipo Resource

Como ya se expresó anteriormente la generación de un controlador tipo resource genera automáticamente las siguientes funciones, las cuales según lo que nos dice la documentación de laravel su utilización es la siguiente:


index**: Es el método inicial de las rutas resource, usualmente lo usamos para mostrar una vista como página principal que puede contener un catálogo o resumen de la información del modelo al cual pertenece o bien no mostrar información y solo tener la función de página de inicio.

  • create: Este método lo podemos usar para direccionar el sistema a la vista donde se van a recolectar los datos(probablemente con un formulario) para después almacenarlos en un registro nuevo, usualmente redirige al index.

  • show: Aquí podemos hacer una consulta de un elemento de la base de datos o de todos los elementos o registros por medio del modelo para realizar una descripción.

  • edit: Este método es similar al de create porque lo podemos usar para mostrar una vista que recolecta los datos pero a diferencia de create es con el fin de actualizar un registro.

  • store: Aquí es donde se actualiza un registro en específico que proviene del método create y normalmente redirige al index.

  • update: Al igual que el store, solo que en vez de provenir de create proviene de edit y en vez de crear un nuevo registro, busca un existente y lo modifica, también suele redirigir al index.

  • destroy: En este método usualmente se destruye o elimina un registro y la petición puede provenir de donde sea siempre y cuando sea llamado con el método DELETE, después puede redirigir al index o a otro sitio dependiendo si logro eliminar o no.

Ahora esto no quiere decir que un controlador necesariamente debe ejecutar estas peticiones obligatoriamente, podemos omitirlas o incluso agregar más.

results matching ""

    No results matching ""