Manual Laravel
Manual Laravel
Carpeta "app":
"Console": Contiene comandos de consola personalizados.
"Exceptions": Define las excepciones personalizadas de la aplicación.
"Http":
"Controllers": Contiene los controladores de la aplicación.
"Middleware": Almacena los middleware de la aplicación.
"Requests": Contiene las clases de validación de formularios.
"Resources": Puede contener clases para transformar y formatear respuestas de la API.
"Kernel.php": Define la lista de middleware HTTP registrados para la aplicación.
2. Carpeta "bootstrap": Contiene archivos de inicialización y configuración de la aplicación.
3. Carpeta "config": Almacena archivos de configuración de la aplicación, como la configuración de la base de datos, el correo electrónico, el caché, etc.
4. Carpeta "database":
"migrations": Contiene archivos para crear y modificar la estructura de la base de datos.
"seeders": Puede contener archivos para poblar la base de datos con datos de prueba.
5. Carpeta "public": Es la raíz del proyecto y contiene el archivo "index.php", punto de entrada para todas las solicitudes HTTP. También contiene los recursos públicos,
como CSS, JavaScript y archivos de imagen.
6. Carpeta "resources":
"assets": Contiene los archivos fuente de CSS, JavaScript, imágenes, etc.
"lang": Contiene los archivos de idioma para la internacionalización.
"views": Almacena las vistas de la aplicación escritas en el lenguaje de plantillas Blade.
7. Carpeta "routes": Define las rutas de la aplicación, especificando cómo se gestionan las solicitudes HTTP y se llaman a los controladores.
8. Carpeta "storage": Contiene archivos generados por la aplicación, como registros, archivos de sesión y archivos cargados por los usuarios.
9. Carpeta "tests": Incluye archivos de prueba automatizados para probar la aplicación.
10. Archivos en la raíz del proyecto:
".env": Archivo de entorno que contiene las variables de configuración específicas del entorno.
"artisan": Interfaz de línea de comandos de Laravel para ejecutar tareas comunes.
"composer.json": Archivo de configuración de Composer que especifica las dependencias del proyecto.
"package.json": Archivo de configuración de NPM para gestionar las dependencias de JavaScript.
"webpack.mix.js": Archivo de configuración para Laravel Mix, una herramienta para compilar activos web.
Esta es una estructura básica y puede haber variaciones dependiendo de los complementos y paquetes utilizados en el proyecto. Laravel es altamente personalizable y
permite a los desarrolladores organizar su código según sus necesidades.
1. Carpeta "app":
"Console": Por ejemplo, podrías tener un comando personalizado llamado SendEmailCommand en el archivo SendEmailCommand.php que envíe correos electrónicos
desde la línea de comandos.
"Exceptions": Puedes definir tus propias excepciones personalizadas, como CustomException.php , para manejar errores específicos de tu aplicación.
"Http":
"Controllers": Por ejemplo, puedes tener un controlador llamado UserController en el archivo UserController.php que maneje las solicitudes relacionadas con los
usuarios de tu aplicación.
"Middleware": Puedes tener un middleware personalizado llamado AuthenticateMiddleware en el archivo AuthenticateMiddleware.php que verifique la
autenticación del usuario antes de permitir el acceso a ciertas rutas.
"Requests": Por ejemplo, podrías tener una clase de validación de formularios llamada CreateUserRequest en el archivo CreateUserRequest.php que valide los datos
de un formulario de creación de usuario.
"Resources": Puedes tener una clase de recurso llamada UserResource en el archivo UserResource.php que transforme y formatee los datos del modelo de usuario
antes de enviarlos como respuesta en una API.
"Kernel.php": Puedes registrar los middleware HTTP en este archivo, como el middleware de autenticación, para que se apliquen a las solicitudes entrantes.
2. Carpeta "bootstrap": Esta carpeta contiene archivos de inicialización y configuración de la aplicación, como app.php, que carga los servicios básicos de Laravel y
prepara la aplicación para su ejecución.
3. Carpeta "config": Aquí encontrarás archivos de configuración de la aplicación, como database.php, donde puedes configurar los detalles de conexión a la base de
datos, y mail.php, donde puedes establecer la configuración del correo electrónico.
4. Carpeta "database":
"migrations": Puedes crear migraciones en esta carpeta para definir la estructura de la base de datos. Por ejemplo, puedes tener una migración llamada
create_users_table que cree la tabla "users" con columnas como "name", "email" y "password".
"seeders": Puedes usar los seeders para poblar la base de datos con datos de prueba. Por ejemplo, puedes tener un seeder llamado UsersTableSeeder que cree
algunos usuarios de prueba en la tabla "users".
5. Carpeta "public": Esta es la carpeta pública de tu aplicación y contiene el archivo index.php, que actúa como punto de entrada para todas las solicitudes HTTP. Aquí
también puedes colocar tus recursos públicos, como archivos CSS, JavaScript e imágenes.
6. Carpeta "resources":
"assets": Aquí puedes almacenar tus archivos fuente de CSS, JavaScript, imágenes, etc. Por ejemplo, podrías tener un archivo CSS llamado styles.css en la carpeta
assets/css.
"lang": Puedes guardar tus archivos de idioma en esta carpeta para la internacionalización de tu aplicación.
"views": Aquí se encuentran las vistas de tu aplicación escritas en el lenguaje de plantillas Blade. Por ejemplo, puedes tener una vista llamada welcome.blade.php que
muestra un mensaje de bienvenida.
7. Carpeta "routes": Aquí defines las rutas de tu aplicación en archivos como web.php o api.php. Por ejemplo, en web.php, puedes tener una ruta como
Route::get('/users', 'UserController@index') que corresponde a la URL "/users" y llama al método index del controlador UserController.
8. Carpeta "storage": Esta carpeta almacena archivos generados por la aplicación, como registros, archivos de sesión y archivos cargados por los usuarios.
9. Carpeta "tests": Aquí puedes incluir archivos de prueba automatizados para probar la funcionalidad de tu aplicación. Puedes crear pruebas unitarias y de integración
para garantizar que tu código funcione correctamente.
10. Archivos en la raíz del proyecto:
".env": Este archivo de entorno contiene variables de configuración específicas del entorno, como la configuración de la base de datos o las credenciales de correo
electrónico.
"artisan": Es la interfaz de línea de comandos de Laravel que te permite ejecutar comandos como migraciones, seeders y tareas personalizadas.
"composer.json": En este archivo se especifican las dependencias del proyecto. Puedes agregar paquetes adicionales de Laravel o de terceros utilizando Composer.
"package.json": Aquí se encuentra la configuración de NPM para gestionar las dependencias de JavaScript en tu proyecto.
"webpack.mix.js": Es un archivo de configuración para Laravel Mix, una herramienta que te permite compilar y gestionar los activos web de tu aplicación.
Esta es una explicación básica de la estructura de Laravel. A medida que te familiarices con el framework, podrás personalizar y organizar la estructura según tus
necesidades específicas.
internacionalización.
del entorno.
Espero que esta tabla sea más clara y organizada para entender la estructura de Laravel.
Save & Submit
Cancel
ChatGPT
Claro, aquí tienes la tabla actualizada con una columna adicional de ejemplos prácticos:
Define la lista de
middleware HTTP Registrar un middleware para
registrados para la autenticación en el kernel de la
app/Http/Kernel.php aplicación. app/Http/Kernel.php aplicación.
Código
Carpeta/Archivo Descripción Ejemplo de Uso Ejemplo Práctico Ejemplo
Crear un comando de
Contiene comandos de consola para enviar
app/Console consola personalizados. app/Console/SendEmailCommand.php correos electrónicos. ```php
namespace App\Console\
Commands;
use Illuminate\Console\Command;