Ciclo de vida de una aplicación en Laravel
Clase 22 de 33 • Curso Avanzado de Laravel
Contenido del curso
Entorno de trabajo y repaso de Laravel
Manejo de tu base de datos con Laravel
La terminal de Laravel
Eventos y tareas de Laravel
Manejo de errores
El corazón de Laravel
Creación de paquetes
- 26

Cómo crear paquetes Laravel con Composer
08:51 min - 27

Propiedades para manejo de dependencias
02:02 min - 28

Comprende el archivo composer.json
02:23 min - 29

Cómo Composer carga clases automáticamente
04:18 min - 30

Crear mis propios Services Providers
08:58 min - 31

Cómo publicar archivos con Service Provider
04:12 min - 32

Instalando paquetes desde GitHub con Composer
10:35 min - 33

Publicar tu paquete PHP en Packages
03:12 min
Aunque parezca magia, Laravel no hace las cosas exentas de las funcionalidades base de Php, mientras más trabajamos con Laravel, nos surgen preguntas de cómo funcionará todo. En esta clase vamos a explicar brevemente cómo actúa Laravel desde el momento que un usuario hace una petición a nuestro servidor y cómo consigue una respuesta.
Esto se llama Ciclo de vida de una Petición. Laravel nos hace todo tan fácil, que el cómo funciona queda en segundo plano, pero conocerlo hace que nos sintamos más cómodos al trabajar y que desaparezca esa sensación de que todo es por arte de magia.
Laravel está pensado para que el DocumentRoot de la aplicación sea la carpeta public. En ella vamos a encontrar el punto de entrada a todas las peticiones que reciba nuestro sitio web, el cual es el archivo index.php, en cambio si la aplicación es CLI tendremos el archivo artisan.php
Estos archivos no tienen mucho código, pero lo poco que tienen es muy importante debido a que se carga la instancia de Laravel a través de la carga automática generada por Composer, que veremos más adelante.
Si abrimos el archivo bootstrap/app.php encontramos el new de mi aplicación, y además cargamos algunas clases importantes dentro del Contenedor de Laravel.
Después de cargar, el siguiente paso, dependiendo del tipo de solicitud, el framework dirige el procesamiento al Kernel HTTP o al Kernel de Consola. Estos dos núcleos son donde todo fluye en Laravel.
El Kernel HTTP, ubicado en app/Http/Kernel.php extiende de una clase base del framework que tiene un arreglo llamado bootstrappers que se ejecutan antes de que la petición se ejecute, los mismos configuran tareas como la captura de errores, entre otros, además el Kernel define una lista de middleware HTTP que todas las solicitudes deben pasar antes de que la aplicación las maneje. Estos middleware manejan la lectura y escritura de la sesión HTTP, determinan si la aplicación está en modo de mantenimiento, verifican el token CSRF, entre otras cosas.
El siguiente paso del Kernel es cargar proveedores de servicios (Service Providers) como parte de la acción de arranque. Dentro de config/app.php podemos encontrar los proveedores necesarios para la aplicación. Los mismos se registran y una vez que todos los proveedores estén registrados, se llamará al método de boot de cada uno.
Una vez que la aplicación ha sido iniciada y todos los proveedores de servicios están registrados y arrancados, la solicitud será entregada al Router para su envío. El Router enviará la solicitud a una ruta o controlador, así como ejecutará cualquier middleware específico de la ruta.
El Router dirigirá la solicitud HTTP a un controlador o devolverá una vista o respuestas directamente omitiendo el controlador. Estas rutas se colocarán en app/routes.php.
Los controladores normalmente ubicados en app/Http/Controllers realizarán acciones específicas y envían datos a una vista.
Las vistas ubicadas en resources/views darán formato a los datos de manera adecuada, proporcionando la respuesta HTTP y con esto cerrando el ciclo de vida.
En la siguiente clase, veremos un poco sobre los Service Containers, qué son y qué función cumple dentro de Laravel.