馃搧 Estructura general del proyecto Laravel
Cuando creas un nuevo proyecto de Laravel, el sistema genera una estructura de carpetas muy organizada. Esta organizaci贸n sigue el patr贸n MVC (Modelo-Vista-Controlador), lo que facilita mantener el c贸digo limpio y escalable.
Vista general del directorio
Al abrir tu carpeta del proyecto (ejemplo-laravel), ver谩s algo como esto:
Estructura de directorios
ejemplo-laravel/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
├── vendor/
└── .env
Veamos el papel de cada carpeta y archivo principal 馃憞
馃搨 Explicaci贸n de las carpetas principales
app/
Es el coraz贸n de tu aplicaci贸n. Aqu铆 est谩 la l贸gica del negocio: modelos, controladores, middleware, pol铆ticas, etc.
Laravel organiza este directorio en subcarpetas, como Http/ (controladores y middleware) o Models/ (modelos Eloquent).
bootstrap/
Contiene el archivo app.php, que se ejecuta al iniciar Laravel. Se encarga de preparar el framework para funcionar.
Tambi茅n incluye la carpeta cache/, donde Laravel guarda la informaci贸n que necesita para arrancar r谩pidamente.
config/
Aqu铆 est谩n todos los archivos de configuraci贸n del framework: base de datos, correos, sesiones, servicios, etc.
Laravel toma la informaci贸n del archivo .env para completar estos valores din谩micamente.
database/
Esta carpeta no guarda la conexi贸n en s铆, sino los scripts para crear y llenar las tablas de tu base de datos:
- migrations/: crean o modifican tablas (estructura de la base de datos).
- seeders/: insertan datos iniciales (como usuarios o roles por defecto).
- factories/: generan datos falsos autom谩ticamente para pruebas.
La conexi贸n real se define en el archivo .env, no aqu铆.
public/
Es la carpeta que se expone al navegador. Contiene el archivo index.php (punto de entrada de la aplicaci贸n) y los recursos p煤blicos: im谩genes, CSS, y JS compilados.
resources/
Aqu铆 se guardan las vistas Blade, los archivos de idioma y los recursos front-end (SASS, JavaScript, etc.). Todo lo que ve el usuario en pantalla se genera desde esta carpeta.
routes/
Define las rutas de la aplicaci贸n: qu茅 URL ejecuta qu茅 controlador.
- web.php: rutas para la parte web (vistas Blade).
- api.php: rutas para servicios API.
- console.php: comandos Artisan personalizados.
storage/
Guarda los archivos generados por la aplicaci贸n: logs, cach茅, subidas de usuario, sesiones, etc. Esta carpeta suele necesitar permisos de escritura.
tests/
Contiene las pruebas autom谩ticas (tests unitarios y funcionales). Laravel usa PHPUnit o Pest para ejecutar estos tests.
vendor/
Aqu铆 se almacenan todas las dependencias instaladas mediante Composer, incluyendo el propio n煤cleo de Laravel. 馃敻 No se debe modificar manualmente esta carpeta.
馃摐 Archivos importantes en la ra铆z
- .env: Configura el entorno (base de datos, correo, APP_KEY, etc.).
- artisan: Interfaz de l铆nea de comandos de Laravel (permite crear controladores, ejecutar migraciones, etc.).
- composer.json: Lista las dependencias PHP del proyecto.
- package.json: Contiene dependencias JavaScript y configuraciones del frontend.
- webpack.mix.js o vite.config.js: Archivos de compilaci贸n de recursos front-end.
馃敆 C贸mo se relacionan entre s铆
Laravel funciona de manera integrada. Aqu铆 un ejemplo pr谩ctico:
- Una ruta definida en
routes/web.phpllama a un controlador enapp/Http/Controllers/. - El controlador usa un modelo de
app/Models/para obtener datos de la base (configurada en.env). - Los datos se env铆an a una vista Blade ubicada en
resources/views/. - Los archivos se almacenan o loguean en
storage/si es necesario.
馃挕 Consejo final
Conocer la estructura del proyecto te ayudar谩 a moverte con seguridad y comprender c贸mo Laravel organiza cada parte del flujo de una aplicaci贸n moderna.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias