
➜ Estructura de carpetas y archivos
Estructura de carpetas y archivos. | Estructura de carpetas y archivos.
Al iniciar un nuevo proyecto en Laravel, es esencial comprender la estructura de carpetas y archivos que el framework ofrece. Esta organización no solo facilita el desarrollo, sino que también ayuda en el mantenimiento y escalabilidad de nuestras aplicaciones. En esta lección, exploraremos la estructura predeterminada de Laravel, describiremos las carpetas y archivos más relevantes, y discutiremos cómo podemos personalizarlos a medida que desarrollamos nuestras aplicaciones.
Estructura de Carpetas de Laravel
Cuando creas un nuevo proyecto Laravel con el comando laravel new nombre_proyecto
, se genera la siguiente estructura de carpetas:
nombre_proyecto/ ├── app/ ├── bootstrap/ ├── config/ ├── database/ ├── public/ ├── resources/ ├── routes/ ├── storage/ ├── tests/ ├── .env ├── composer.json └── package.json
Descripción de las Carpetas Principales
1. app/
Esta carpeta es el corazón de la aplicación, donde se desarrolla la lógica de negocio. Contiene subcarpetas como:
- Models/: Almacena los modelos de Eloquent, que representan las tablas en la base de datos.
- Http/: Contiene controladores, middleware y form requests. Los controladores manejan la lógica para las solicitudes HTTP.
- Console/: Define comandos de Artisan personalizados.
- Providers/: Contiene proveedores de servicios que inicializan diferentes partes de la aplicación.
2. bootstrap/
Esta carpeta contiene archivos necesarios para iniciar la aplicación. Incluye app.php
, el punto de entrada del framework, y la carpeta cache/
, donde se almacenan archivos de caché.
3. config/
Aquí se encuentran todos los archivos de configuración de la aplicación, como app.php
, database.php
, mail.php
, etc. Cada archivo define configuraciones específicas para la aplicación.
4. database/
Contiene migraciones, fábricas y seeds para la base de datos:
- migrations/: Archivos que definen y gestionan la estructura de la base de datos.
- factories/: Utilizadas para crear datos de prueba.
- seeds/: Permiten llenar la base de datos con datos iniciales.
5. public/
Es la carpeta pública de la aplicación, donde se encuentran archivos accesibles desde el navegador, como:
index.php
: Punto de entrada para todas las solicitudes HTTP.- Archivos de CSS, JavaScript e imágenes.
6. resources/
Contiene vistas, archivos de idioma y activos no compilados:
- views/: Almacena las vistas Blade de la aplicación.
- lang/: Archivos de idioma para la internacionalización.
- sass/ o js/: Archivos Sass y JavaScript que se compilan y envían a
public/
.
7. routes/
Contiene archivos de definición de rutas. Por defecto, incluye web.php
y api.php
, donde puedes definir las rutas de tu aplicación.
8. storage/
Almacena archivos generados por la aplicación, como logs y archivos de caché. Contiene subcarpetas como:
- app/: Archivos de la aplicación.
- framework/: Almacenamiento de caché y sesiones.
- logs/: Archivos de registro de la aplicación.
9. tests/
Aquí se encuentran las pruebas de la aplicación, tanto unitarias como funcionales, que aseguran el correcto funcionamiento del código.
Archivos principales de configuración en Laravel
- .env: Contiene las variables de entorno de la aplicación, como credenciales de base de datos y claves API. Es crucial para la configuración de la aplicación.
- composer.json: Administra las dependencias del proyecto. Permite agregar y actualizar paquetes utilizando Composer.
- package.json: Utilizado por npm para gestionar dependencias de JavaScript y scripts de compilación.
Agregar Carpetas y Archivos Durante el Desarrollo
A medida que desarrollas tu aplicación Laravel, es común agregar nuevas carpetas y archivos. Algunas áreas donde podrías realizar adiciones son:
- Modelos: Nuevos modelos en
app/Models
para representar tablas adicionales en la base de datos. - Controladores: Controladores personalizados en
app/Http/Controllers
para manejar la lógica de nuevas funcionalidades. - Middleware: Lógica adicional para manejar solicitudes en
app/Http/Middleware
. - Vistas: Nuevas vistas en
resources/views
para representar diferentes partes de la aplicación. - Rutas: Archivos de rutas adicionales para funcionalidades específicas.
- Pruebas: Nuevas pruebas en
tests
para validar nuevas características.
425 visitas
Capítulo 4 – Definición de rutas y métodos HTTP. »