-
APP : Aqui vivira todo nuestro codigo principal.
-
Bootstrap: Utilizada por laravel para mejorar el rendimiento
-
config: Cada paquete que se instale. Se genera un archivo que se puede editar y modificar.
-
Database : Carpeta principal de las bases de datos
a. migrations : Archivos con la estructura principal para desarrollar tablas.
b. factories: nos permite desarrollar datos falsos para probar aplicacion
c. seeders: encargada de ejecutar los factories que desarrollemos
-
lang: idioma
-
public: punto de acceso a web.
-
resources: archivos originales css,javascript y vistas
-
routes: configuramos rutas del trabaja principalmente en web.php
-
storage: elementos generados por laravel. cache o si usuario guarda muchos archivos se pueden guardar hay. 11 test: Pruebas
-
vendor: Nose toca esta carpeta. Hay se ve todo lo que se instala con composer.
Recursos
Resumen
Si acabas de instalar Laravel y te abruma ver tantas carpetas, aquí entenderás la estructura de carpetas en Laravel y para qué sirve cada una. Esta guía es ideal para quienes empiezan con el framework y quieren orientarse antes de escribir su primera línea de código.
Laravel te entrega una estructura lista para trabajar, lo que refleja la filosofía de un framework: un entorno de trabajo estandarizado con conceptos, carpetas organizadas, buenas prácticas y estilos de programación para resolver un problema [00:08]. Vamos carpeta por carpeta.
¿Dónde vive el código principal de un proyecto Laravel?
Todo comienza con la carpeta app, el lugar donde vivirá tu código central [00:24]. Es el corazón de tu aplicación y donde pasarás buena parte del tiempo.
Junto a ella aparece bootstrap, que normalmente no tocas [00:33]. Laravel la usa para generar automáticamente archivos que mejoran el rendimiento del proyecto.
Luego está la carpeta de configuración (config), donde cada componente o paquete que instales generará un archivo que puedes editar y modificar [00:44]. Revisar estos archivos es una buena forma de aprender más sobre el framework.
¿Qué carpetas de Laravel no debo tocar? Principalmente bootstrap y vendor. La primera la gestiona Laravel para optimizar el rendimiento, y la segunda contiene todo lo que instalas vía Composer.
¿Cómo se maneja la base de datos y los datos de prueba?
La carpeta database es la principal para configurar tus bases de datos [01:01]. Dentro encontrarás tres piezas clave que trabajan juntas.
- Las migrations: archivos con la estructura principal para desarrollar tus tablas [01:08].
- Los factories: estructuras que te permiten generar datos falsos para probar tu aplicación [01:15].
- Los seeders: encargados de ejecutar esos factories [01:24].
Aquí viene lo práctico. Si un seeder dice "crea 10 usuarios", se generarán 10 usuarios con datos falsos listos para tus pruebas [01:30]. Así ensayas tu app sin depender de información real.
¿Para qué sirven los factories en Laravel? Generan datos falsos de forma automática para probar tu aplicación. Un seeder los ejecuta y puede crear, por ejemplo, 10 usuarios ficticios de una sola vez.
¿Qué diferencia hay entre public y resources?
Aquí está una de las distinciones que más confunde al inicio. La carpeta de idioma te permite configurar un sistema multiidioma: por defecto trae inglés, pero puedes crear ES para español [01:42].
La carpeta public es el punto de acceso web [01:52]. Allí configuras imágenes finales, archivos JavaScript y CSS ya compilados, es decir, procesados. Dentro vive el index.php, por eso se considera la puerta de entrada [02:08].
En cambio, resources guarda tus archivos originales de CSS, JavaScript y vistas [02:18]. La regla es simple: en public están los compilados y en resources los originales que puedes editar.
¿Cómo configuro rutas y dónde se almacenan los archivos?
La carpeta de rutas define el acceso de tu proyecto: home, acerca de, contactos, productos, edición o un formulario [02:33]. El archivo con el que trabajarás principalmente es web.php [02:44].
La carpeta de almacenamiento (storage) reúne registros, plantillas compiladas, sesiones basadas en archivos, caché y otros elementos generados por Laravel [02:49]. Si tu app permite subir archivos, se guardan en app/public [03:05].
Un detalle interesante sobre las vistas: en resources tienes las vistas originales que editas con directivas Blade, mientras que las vistas compiladas viven en framework/views con código PHP directo [03:17]. Por ejemplo, un @if de Blade se convierte en un if de PHP puro al compilarse [03:40].
php // Vista original con Blade @if($condicion)
// Vista compilada en PHP
<?php if($condicion): ?>¿Cómo pruebo y ejecuto mi proyecto Laravel?
La carpeta test reúne todo lo relacionado con pruebas unitarias de PHPUnit y pruebas de funciones y características [03:55]. Laravel se construyó pensando en que cualquier cosa se pueda testear.
La carpeta vendor no se toca: contiene todo lo que instalas mediante Composer [04:08]. Para ver tu proyecto en el navegador tienes varias alternativas.
- Entrar a la carpeta public y ejecutar un servidor con PHP:
php -S 127.0.0.1:8000, luego abrir esa dirección en el navegador [04:38]. - Usar el comando
php artisan serve, que cumple la misma función desde la raíz del proyecto [05:05]. - Si trabajas en Mac, puedes apoyarte en un servidor dedicado como los paquetes que aparecen en la documentación oficial de Laravel [04:20].
Al cancelar el proceso del servidor, el sistema deja de visualizarse [05:16]. Entender Laravel como una herramienta que ya viene con muchas cosas construidas te ahorra tiempo y te enseña buenas prácticas desde el primer día.
¿Qué carpeta te gustaría explorar a fondo primero? Déjalo en los comentarios y seguimos repasando estos conceptos clase a clase.