Estructura de carpetas y archivos
Capitulo 3 del Módulo 1 Introducción a Laravel

➜ 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

¡Qué aprenderás?

tooltip bs-tooltip-top bs-tooltip-end bs-tooltip-bottom bs-tooltip-start show fade tooltip-inner

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú