Cuando cree su nueva aplicación Laravel, contendrá una gran cantidad de carpetas como se muestra en la imagen a continuación:
Cada una de estas carpetas cumple una tarea específica para el funcionamiento general del marco. El propósito de cada una de estas carpetas se explica a continuación, pero antes de eso, veamos cada una de ellas una vez:
Estructura de directorios:
- directorio de aplicaciones
- directorio de arranque
- directorio de configuración
- directorio de base de datos
- directorio publico
- directorio de recursos
- directorio de rutas
- directorio de almacenamiento
- directorio de pruebas
- directorio de proveedores
Finalidad de cada uno de estos directorios:
1. directorio de aplicaciones: este directorio es el corazón del marco y los desarrolladores de back-end trabajan principalmente en este directorio. Contiene todo el código de back-end de nuestra aplicación web, como controladores, transmisiones, proveedores, comandos artesanales personalizados, middlewares, etc. Este directorio contiene además muchos subdirectorios, como se muestra en la imagen a continuación:
El directorio de aplicaciones:
Directorio | Objetivo |
---|---|
Consola | Este directorio contiene todos los comandos de Artisan creados por nosotros. Estos comandos se pueden generar usando el comando php crafty make: command. |
Excepciones | Este directorio contiene los archivos de manejo de excepciones de la aplicación. Aquí puede crear sus propias excepciones específicas para que sean lanzadas por nuestra aplicación. |
Http | Este directorio contiene nuestros controladores, middleware y requests de formulario. Casi todo el backend para manejar las requests que ingresan a nuestra aplicación se colocará aquí. |
Proveedores | Este directorio contiene todos los proveedores de servicios para la aplicación. Los proveedores de servicios arrancan nuestra aplicación al hacer que los servicios estén disponibles para nosotros registrándolos. |
Radiodifusión | Este directorio no está allí de forma predeterminada, pero se puede crear utilizando el comando php artesanal make:channel . Contiene todas las clases de canales de transmisión para que nuestra aplicación transmita sus eventos. |
Eventos | Este directorio no está ahí por defecto, pero se puede crear usando el comando php craft:event . Este directorio contiene clases de eventos que se pueden usar para enviar señales a otras partes de la aplicación o viceversa. |
Trabajos | Este directorio no está allí de forma predeterminada, pero se puede crear utilizando el comando php artesanal make:job . Este directorio contiene trabajos de alineación para nuestra aplicación. |
Oyentes | Este directorio no está allí de forma predeterminada, pero se puede crear utilizando el comando php craft:listener . Este directorio contiene las clases que manejan nuestros eventos. |
Correo | Este directorio no está allí de forma predeterminada, pero se puede crear utilizando el comando php artesanal make:mail . Este directorio contiene todas nuestras clases que representan correos electrónicos enviados por aplicación. |
Notificaciones | Este directorio no está ahí por defecto, pero se puede crear usando el comando php craft:notification . Este directorio contiene todas las notificaciones «transaccionales» que envía nuestra aplicación. |
Políticas | Este directorio no está allí de forma predeterminada, pero se puede crear utilizando el comando php artesanal make:policy . Este directorio contiene las clases de políticas de autorización que se utilizan para determinar si un usuario puede acceder o cambiar datos específicos o no. |
Normas | Este directorio no está ahí por defecto, pero se puede crear usando el comando php crafty make:rule . Este directorio contiene los objetos de regla de validación de creación propia que se utilizan para encapsular lógica de validación complicada en un objeto simple. |
2. directorio de arranque: este directorio contiene app.php desde donde se inicia todo el marco. Este directorio también contiene el directorio de caché que se utiliza para almacenar archivos generados por el marco para la optimización del rendimiento.
3. directorio de configuración: este directorio contiene todos los archivos de configuración relacionados con la base de datos, el correo, la sesión, los servicios, etc.
4. directorio de la base de datos: este directorio contiene migraciones de bases de datos, fábricas de modelos y semillas.
5. directorio público: este directorio contiene el archivo index.php que es el punto de entrada y maneja todas las requests recibidas por la aplicación y también configura la carga automática. Aparte de esto, este directorio también contiene activos utilizados en la aplicación, como imágenes, JavaScript y CSS.
6. directorio de recursos: este directorio contiene la interfaz de la aplicación. Todo el código HTML que hace que la interfaz de la aplicación esté presente aquí en forma de plantillas Blade, que es un motor de plantillas con el que viene Laravel.
7. directorio de rutas: este directorio contiene todas las definiciones de ruta de la aplicación.
8. directorio de almacenamiento: este directorio contiene las plantillas Blade compiladas, las sesiones basadas en archivos, las cachés de archivos y otros archivos generados por el marco.
9. directorio de pruebas: este directorio contiene todas nuestras pruebas automatizadas que se requieren para garantizar que la aplicación funcione según las expectativas o no.
10. directorio de proveedores: este directorio contiene todas las dependencias descargadas a través de Composer que nuestro marco necesita.