Estructura de Directorios
La estructura por defecto de la aplicación Laravel está pensada para proporcionar un gran punto de partida tanto para aplicaciones grandes como pequeñas. Pero eres libre de organizar tu aplicación como quieras. Laravel casi no impone restricciones sobre la ubicación de cualquier clase - siempre y cuando Composer pueda autocargar la clase.
Directorio Raíz
Directorio de App
El directorio app
contiene el código central de tu aplicación. Exploraremos este directorio en más detalle pronto; sin embargo, casi todas las clases de tu aplicación estarán en este directorio.
El directorio de Bootstrap
El directorio bootstrap
contiene el archivo app.php
que arranca el framework. Este directorio también contiene un directorio cache
que contiene archivos generados por el framework para optimizar el rendimiento, como los archivos cache de rutas y servicios. Normalmente no debería ser necesario modificar ningún archivo de este directorio.
El directorio Config
El directorio config
, como su nombre indica, contiene todos los archivos de configuración de tu aplicación. Es una gran idea leer todos estos archivos y familiarizarse con todas las opciones disponibles.
El directorio de bases de datos
El directorio database
contiene tus migraciones de bases de datos, fábricas de modelos y seeders. Si lo deseas, también puedes utilizar este directorio para alojar una base de datos SQLite.
El Directorio Público
El directorio public
contiene el archivo index.php
, que es el punto de entrada para todas las peticiones que entran en tu aplicación y configura la carga automática. Este directorio también contiene tus activos, como imágenes, JavaScript y CSS.
El Directorio de recursos
El directorio de rutas
El directorio routes
contiene todas las definiciones de ruta para tu aplicación. Por defecto, varios archivos de ruta se incluyen con Laravel: web.php
, api.php
, console.php
, y channels.php
.
El archivo web.php
contiene rutas que el RouteServiceProvider
coloca en el grupo de middleware web
, el cual provee estado de sesión, protección CSRF, y encriptación de cookies. Si tu aplicación no ofrece una API RESTful sin estado, lo más probable es que todas tus rutas estén definidas en el archivo web.php
.
El archivo console.php
es donde puede definir todos sus comandos de consola basados en cierres. Cada cierre está vinculado a una instancia de comando permitiendo un enfoque simple para interactuar con los métodos IO de cada comando. Aunque este archivo no define rutas HTTP, define puntos de entrada basados en consola (rutas) en su aplicación.
El directorio de almacenamiento
El directorio storage
contiene tus logs, plantillas Blade compiladas, sesiones basadas en ficheros, cachés de ficheros y otros ficheros generados por el framework. Este directorio está dividido en los directorios app
, framework
y logs
. El directorio app
puede ser utilizado para almacenar cualquier archivo generado por tu aplicación. El directorio framework
se utiliza para almacenar archivos generados por el framework y cachés. Por último, el directorio logs
contiene los archivos de registro de tu aplicación.
El directorio storage/app/public
puede utilizarse para almacenar archivos generados por el usuario, como avatares de perfil, que deben ser accesibles públicamente. Debes crear un enlace simbólico en public/storage
que apunte a este directorio. Puede crear el enlace utilizando el comando php artisan storage:link
de Artisan.
El directorio de pruebas
El Directorio de Vendor
El Directorio App
El directorio app
contiene una variedad de directorios adicionales como Console
, Http
, y Providers
. Piensa en los directorios Console
y Http
como una API en el núcleo de tu aplicación. Tanto el protocolo HTTP como la CLI son mecanismos para interactuar con tu aplicación, pero en realidad no contienen lógica de aplicación. En otras palabras, son dos formas de emitir comandos a tu aplicación. El directorio Console
contiene todos tus comandos Artisan, mientras que el directorio Http
contiene tus controladores, middleware y peticiones.
Una variedad de otros directorios serán generados dentro del directorio app
cuando utilices los comandos make
de Artisan para generar clases. Así, por ejemplo, el directorio app/Jobs
no existirá hasta que ejecutes el comando Artisan make:job
para generar una clase job.
El Directorio Broadcasting
El Directorio Console
El Directorio Events
El Directorio Exceptions
El directorio Exceptions
contiene el manejador de excepciones de tu aplicación y es también un buen lugar para colocar cualquier excepción lanzada por tu aplicación. Si desea personalizar la forma en que sus excepciones se registran o renderizan, debe modificar la clase Handler
en este directorio.
El Directorio Http
El directorio Http
contiene tus controladores, middleware y peticiones de formulario. Casi toda la lógica para manejar las solicitudes que entran en su aplicación se colocará en este directorio.
El Directorio Jobs
El Directorio Listeners
El Directorio de Mail
El Directorio Models
El directorio Notifications
El directorio Policies
El Directorio Providers
En una aplicación Laravel nueva, este directorio ya contendrá varios proveedores. Eres libre de añadir tus propios proveedores a este directorio según sea necesario.
El directorio Rules
Última actualización
¿Te fue útil?