Definir teoria de un proyecto de laravel

Un proyecto de Laravel puede ser creado de varias maneras, de forma manual o las herramientas como ser laravel para la linea de comandos de linux o directamente usando composer, en este caso se usara composer que es la manera mas rápida y fácil, así también provee la ultima versión de laravel.

Los comandos iniciales son los siguientes:

composer create-project --prefer-dist laravel/laravel honeypot-emi

El comando se descompone en varios argumentos en donde se especifican

  • Composer: Como herramienta de gestion de dependencias y creador del proyecto
  • create-project: como argumento para crear un proyecto
  • laravel/laravel: como setter para el tipo de proyecto
  • honeypot-emi: como nombre del proyecto

La ejecucion de composer creara un directorio de nombre honeypot-emi el cual tendra los siguientes directorios:

drwxr-xr-x    - diaz 22 sep 00:14 app
drwxr-xr-x    - diaz 29 ago 13:40 bootstrap
drwxr-xr-x    - diaz 29 ago 13:40 config
drwxr-xr-x    - diaz 22 sep 06:53 database
drwxr-xr-x    - diaz 22 sep 06:51 public
drwxr-xr-x    - diaz 29 ago 13:40 resources
drwxr-xr-x    - diaz 29 ago 13:40 routes
drwxr-xr-x    - diaz 29 ago 13:40 storage
drwxr-xr-x    - diaz 29 ago 13:40 tests
drwxr-xr-x    - diaz 21 sep 23:58 vendor
.rw-r--r--  258 diaz 29 ago 13:40 .editorconfig
.rw-r--r-- 1,1k diaz 21 sep 23:58 .env
.rw-r--r-- 1,1k diaz 29 ago 13:40 .env.example
.rw-r--r--  186 diaz 29 ago 13:40 .gitattributes
.rw-r--r--  283 diaz 29 ago 13:40 .gitignore
.rwxr-xr-x  425 diaz 29 ago 13:40 artisan
.rw-r--r-- 2,4k diaz 29 ago 13:40 composer.json
.rw-r--r-- 311k diaz 21 sep 23:58 composer.lock
.rw-r--r--  415 diaz 29 ago 13:40 package.json
.rw-r--r-- 1,2k diaz 29 ago 13:40 謹 phpunit.xml
.rw-r--r-- 3,9k diaz 29 ago 13:40 README.md
.rw-r--r--  331 diaz 29 ago 13:40 vite.config.js

La tabla siguiente describe los directorios y archivos.

NombreTipoDescripción
app/📂 DirectorioContiene la lógica principal de la aplicación (modelos, controladores, middleware, etc.).
bootstrap/📂 DirectorioArchivos de arranque del framework, incluido app.php que inicializa Laravel.
config/📂 DirectorioArchivos de configuración de la aplicación (base de datos, mail, cache, etc.).
database/📂 DirectorioMigraciones, factories y seeds para la base de datos.
public/📂 DirectorioPunto de entrada público, contiene index.php, assets compilados y estáticos.
resources/📂 DirectorioVistas Blade, archivos de traducción y assets (CSS, JS, imágenes sin compilar).
routes/📂 DirectorioDefinición de rutas web, API, consola y canales.
storage/📂 DirectorioArchivos generados (logs, caché, vistas compiladas, uploads).
tests/📂 DirectorioPruebas unitarias y funcionales.
vendor/📂 DirectorioDependencias instaladas por Composer.
.editorconfig📄 ArchivoReglas para mantener un estilo de código consistente en editores.
.env⚙️ ArchivoVariables de entorno específicas de la aplicación.
.env.example📄 ArchivoPlantilla de variables de entorno para configurar el proyecto.
.gitattributes📄 ArchivoConfiguración de atributos para Git (normalización de fin de línea, etc.).
.gitignore📄 ArchivoArchivos y carpetas que deben ignorarse en Git.
artisan🛠️ ScriptCLI de Laravel para ejecutar comandos y tareas.
composer.json📄 ArchivoDefine dependencias PHP y configuración de Composer.
composer.lock🔒 ArchivoVersión exacta de las dependencias instaladas.
package.json📄 ArchivoDependencias y scripts de Node.js (para frontend y Vite).
phpunit.xml🧪 ArchivoConfiguración para pruebas con PHPUnit.
README.md📖 ArchivoDocumentación inicial del proyecto.
vite.config.js⚡ ArchivoConfiguración de Vite (bundler de frontend usado por Laravel).