0:006:54

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.

  1. 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].
  2. Usar el comando php artisan serve, que cumple la misma función desde la raíz del proyecto [05:05].
  3. 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.

Estructura de carpetas en Laravel y para qué sirven

Ver clases