Estructura de Archivos
A continuación describiremos los directorios y archivos más importantes para facilitar el entendimiento del funcionamiento del proyecto.
#
El directorio AppEl directorio app contiene el código central de la aplicación. Casi todas las clases de la aplicación estarán en este directorio.
#
El directorio BootstrapEl directorio bootstrap contiene el archivo app.php, que inicia el marco. Este directorio también alberga un directorio de cache que contiene los archivos generados por el marco para la optimización del rendimiento, como los archivos de caché de rutas y servicios.
#
El directorio ConfigEl directorio config, como su nombre indica, contiene todos los archivos de configuración de la aplicación.
#
El directorio DatabaseEl directorio database contiene las migraciones de bases de datos, fábricas de modelos y semillas.
#
El directorio PublicEl directorio public contiene el archivo index.php, el cual es el punto de entrada para todas las peticiones entrando a la aplicación, además de configurar el autoloading. Este directorio también contiene los assets, tales como imágenes JavaScript y CSS.
#
El directorio ResourcesEl directorio resources contiene las vistas, así como los activos crudos no compilados como LESS, SASS o JavaScript. Este directorio también alberga todos los archivos de tu idioma.
#
El Directorio RoutesEl diretorio routes contiene todas las definiciones de rutas para la aplicación. Por defecto, se incluyen varios archivos de rutas con Larave: web.php, api.php, console.php y channels.php.
El archivo web.php contiene las rutas que el RouteServiceProvider coloca en el grupo de middleware web, que proporciona el estado de sesión, la protección CSRF y la encriptación de cookies. Debdio a que la aplicación no ofrece una API sin estado, RESTful, lo más probable es que todas las rutas estén definidas en el archivo web.php.
El archivo api.php contiene las rutas que el RouteServiceProvider coloca en el grupo de middleware api, que proporciona la limitación de la tasa. Estas rutas están pensadas para ser apátridas, por lo que las solicitudes que entren en la aplicación a través de estas rutas están pensadas para ser autenticadas mediante tokens y no tendrán acceso al estado de sesión.
El archivo console.php es donde se pueden definir todos los comandos de consola basados en el cierre. Cada Closure está ligado 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 (rutas) basados en la consola en la aplicación.
El archivo channels.php es donde se pueden registrar todos los canales de difusión de eventos que la aplicación soporta.
#
El directorio StorageEl directorio storage contiene las plantillas Blade compiladas, sesiones basadas en archivos, cachés de archivos y otros archivos generados por el framework. Este directorio está segregado en los directorios app, framework, y logs. El directorio app puede utilizarse para almacenar cualquier archivo generado por la aplicación. El directorio framework se utiliza para almacenar los archivos generados por el framework y los cachés. Por último, el directorio logs contiene los archivos de registro de la aplicación.
#
El directorio TestsEl directorio tests contiene las pruebas automatizadas. Un ejemplo de prueba PHPUnit se proporciona fuera de la caja. Cada clase de prueba debe ser sufijada con la palabra Test. Puede ejecutar las pruebas usando los comandos phpunit o php vendor/bin/phpunit.
#
El directorio VendorEl directorio vendor contiene las dependencias de Composer.