Laravel como Framework de PHP posee una estructura de carpetas o directorios en un proyecto, cada uno de estas carpetas o archivos independientes tiene una finalidad que hablaremos a continuación.
Vale recalcar que en la documentación de Laravel es explicado casi todo, pero sin embargo sabemos que la documentación no esta en español por lo que hoy hablaremos de la estructura de un proyecto en Laravel y que significa la mayoría de las cosas.
Cosas que vamos a mencionar en esta publicación:
Esta carpeta es especial, claro pues es la que guarda toda la lógica que nosotros programemos de nuestra app, en ella podremos encontrar subcarpetas como http que contiene los controladores y los middlewares de la aplicación, que son los encargados de la gestión de las peticiones de la aplicación, así como de decidir que sucede o que se responde en cada petición.
Otra de las subcarpetas especiales es la de Models, que básicamente guarda los modelos de nuestra aplicación, esos los encargados de administrar la lógica de la base de datos.
Otras subcarpetas como Console, Providers y Exceptions son archivos o componentes que nos ayudan de una u otra manera con la integración de funcionalidades especiales con el Kernel de Laravel.
Como todos los componentes de Laravel, este es esencial, pues es la carpeta que le permite a Laravel su Boot, un funcionamiento optimo, es de aquí de donde se cargan todos los componentes que se utilizan en el ciclo de vida de una petición en laravel.
El modificar el contenido de esta carpeta no es nada recomendable, es más para uso del mismo desarrollo del Framework.
Esta carpeta guarda todos los archivos de configuración de cada uno de los paquetes y del mismo framework, es decir desde aquí podemos acceder a modificar parámetros que el Framework o un paquete en específico nos permita.
Cada uno de los archivos dentro guarda un array retornable que su única finalidad es la de guardar un dato de configuración específico para cada finalidad.
La carpeta database nos permite almacenar procesos relacionados con la misma Base de datos, como son las migraciones, y los seeders.
Es aquí donde nosotros guardamos la estructura de como vamos creando la base de datos de nuestra aplicación y la manera como la alimentamos de forma manual, todo esto regido con el comando php artisan migration, migrate o seeder
La traducción seria Carpeta de Lenguajes, y bueno creo que la explicación esta de sobra pues en ella guardamos todos los archivos de traducción en subcarpeta de un idioma respectivamente.
Estos archivos son un array con valores que puedes imprimir en casi cualquier parte de todo el proyecto desde vistas, controladores, modelos etc.
El lugar donde lo visual se junta, aquí se guardan los archivos de las vistas, archivos compilados de JS y CSS de algunas tecnologías.
Básicamente el Frontend de toda la aplicación.
Por defecto esta carpeta sirve para los diferentes tipos de pruebas que se pueden hacer en Laravel desde las destacadas hasta las unitarias.
Es vital para el funcionamiento de estas pruebas.
Esta carpeta almacena todos y cada uno de los archivos necesarios de cada componente o paquete que hace que nuestro proyecto de Laravel funcione.
Desde aquí se hace referencia cada uno de esos paquetes de forma directa, por lo que tocarlo sin conocimiento puede provocar errores graves en el funcionamiento de Laravel.
Bueno mas obvio no puede ser, esta carpeta nos permite almacenar archivos que podrán ser visibles desde el navegador, su único archivo .php es el encargado de lanzar cada ciclo de vida de la petición.
Salvo a este único archivo .php todo el código de la aplicación es inaccesible desde fuera de la app, aquí podemos guardar archivos JS y CSS, imágenes y demás que necesitemos acceder desde una url directa.
Artisan es la línea de comandos de Laravel, es el que nos permite ejecutar los diferentes comandos dentro de nuestra app, desde limpiar el cache, hasta crear controladores, modelos etc.
Ya en producción no es que sirva de mucho, pero en el proceso de desarrollo es una utilidad vital.
Es aquí en donde se administran todas las dependencias externas de un proyecto es donde composer lleva el contro de que paquetes instalar, actualizar o remover.
Este archivo es el archivo de configuración de variables de entorno, desde la conexión a la DB, a un servidor de correo, asi como los servicios externos.
Como ven cada cosa en un proyecto de Laravel tiene un objetivo primordial, están ahí por que se necesitan y tocar algunas puede ser un verdadero problema.
¡Comentarios de la comunidad!
Para poder comentar necesita ingresar a su cuenta, si no tienes una cuenta puede crear una