Logo de Código Facilito
  • Inicio
  • Replays
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Desarrrolla una tienda en línea con Laravel y Vue!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Desarrrolla una tienda en línea con Laravel y Vue

Video Middlewares en Laravel

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

El concepto de middlewares es popular en muchos frameworks de Desarrollo Web. Laravel no es la excepción, de hecho, es uno de los frameworks donde se promueve el uso de este concepto para múltiples propósitos.

Un Middleware tiene como propósito tomar dos piezas de la aplicación y conectarlas, como un puente en el que fluye la información. Normalmente decimos que una rutina de código tiene como propósito recibir información y retornarla transformada, la única característica especial de un Middleware es que la información la obtiene de otra función de código para luego enviársela a una función distinta más.

Los middlewares en Laravel son clases con una función handle que recibe un objeto instancia de la clase $request, además de un Closure $next

class EjemploMiddleware
{

    public function handle($request, Closure $next)
    {}
}

Desde aquí podemos notar algo del potencial de un middleware, dado que recibimos el objeto $request, es también posible aprovechar ese objeto para pasar información que sirva luego a los controladores, esto permite que podamos aislar en un solo archivo alguna consulta que aplique para múltiples funciones de nuestros controladores.

La función de un middleware culmina cuando se manda a llamar el argumento $next como una función, con el objeto $request enviándose como argumento:

class EjemploMiddleware
{

    public function handle($request, Closure $next)
    {
        $next($request);
    }
}

Esta llamada indica que la petición debe continuar su camino hacia un siguiente middleware o hacia el controlador que le dará respuesta final a la petición.

También es posible enviar una respuesta desde el middleware, por lo que comúnmente se usan para redireccionar al usuario en caso de que alguna condición se haya o no cumplido.

Observa por ejemplo este middleware que viene predefinido con el módulo de Autenticación de Laravel.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/home');
        }

        return $next($request);
    }
}

Verifica si existe una sesión válida y en caso de que exista, redirecciona al usuario hacia el home, caso contrario permite que el flujo de la petición continúe con el siguiente middleware o al controlador, en caso de que no haya ningún middleware.

  • Módulo 1 | 7 clases

    Introducción

    expand_more
    • play_circle_outline

      Clase 1

      Introducción

    • play_circle_outline

      Clase 2

      Conocimientos Previos

    • play_circle_outline

      Clase 3

      Qué aprenderé en este curso

    • play_circle_outline

      Clase 4

      Laravel

    • play_circle_outline

      Clase 5

      Configurar HomeStead

    • play_circle_outline

      Clase 6

      Generar llaves pública y privada en Windows

    • play_circle_outline

      Clase 7

      Generar Proyecto

  • Módulo 2 | 20 clases

    Autenticación y Productos

    expand_more
    • play_circle_outline

      Clase 1

      Configurar conexión a la base de datos

    • play_circle_outline

      Clase 2

      Qué son las migraciones

    • play_circle_outline

      Clase 3

      Uso de migraciones

    • play_circle_outline

      Clase 4

      Rutas

    • play_arrow

      Clase 5

      Middlewares en Laravel

    • play_circle_outline

      Clase 6

      Creando middlewares

    • play_circle_outline

      Clase 7

      Controladores REST

    • play_circle_outline

      Clase 8

      Rutas REST y Layouts

    • play_circle_outline

      Clase 9

      Formularios LaravelCollective

    • play_circle_outline

      Clase 10

      Webpack

    • play_circle_outline

      Clase 11

      Modelos y Tablas

    • play_circle_outline

      Clase 12

      Guardar en la base de datos

    • play_circle_outline

      Clase 13

      Formulario para actualización y creación

    • play_circle_outline

      Clase 14

      Actualización en la base de datos

    • play_circle_outline

      Clase 15

      Consulta para mostrar todos los productos

    • play_circle_outline

      Clase 16

      Paginación

    • play_circle_outline

      Clase 17

      Vista Individual de productos

    • play_circle_outline

      Clase 18

      Eliminar de la base de datos

    • play_circle_outline

      Clase 19

      Protección de rutas con autenticación

    • play_circle_outline

      Clase 20

      Validación de registros no autorizados

  • Módulo 3 | 11 clases

    Vue

    expand_more
    • play_circle_outline

      Clase 1

      Qué es Vue

    • play_circle_outline

      Clase 2

      Mi primer componente de Vue

    • play_circle_outline

      Clase 3

      V-for para iterar colecciones

    • play_circle_outline

      Clase 4

      Props y v-bind

    • play_circle_outline

      Clase 5

      Enviar JSON desde el servidor

    • play_circle_outline

      Clase 6

      Laravel Resources para APIs y JSON

    • play_circle_outline

      Clase 7

      Qué es AJAX

    • play_circle_outline

      Clase 8

      Descargar datos con AJAX usando axios

    • play_circle_outline

      Clase 9

      Animar elementos de una lista v-for

    • play_circle_outline

      Clase 10

      Staggering animations (Animaciones con retraso)

    • play_circle_outline

      Clase 11

      Componentes funcionales

  • Módulo 4 | 13 clases

    Carrito de Compras

    expand_more
    • play_circle_outline

      Clase 1

      Crear tabla del carrito

    • play_circle_outline

      Clase 2

      Manejar carrito con sesiones

    • play_circle_outline

      Clase 3

      Definir variables para todas las vistas

    • play_circle_outline

      Clase 4

      Relación muchos a muchos

    • play_circle_outline

      Clase 5

      Rutas REST con opciones

    • play_circle_outline

      Clase 6

      Pasar datos de un middleware al controlador

    • play_circle_outline

      Clase 7

      Agregar al carrito de compras

    • play_circle_outline

      Clase 8

      Contar productos en un carrito

    • play_circle_outline

      Clase 9

      Agregar al carrito con AJAX y Vue

    • play_circle_outline

      Clase 10

      Vuex

    • play_circle_outline

      Clase 11

      Mostrar carrito de compras

    • play_circle_outline

      Clase 12

      Productos del carrito con Vue

    • play_circle_outline

      Clase 13

      Calcular total del carrito

  • Módulo 5 | 6 clases

    PayPal

    expand_more
    • play_circle_outline

      Clase 1

      Configuración del SDK de PayPal

    • play_circle_outline

      Clase 2

      Construir petición de cobro

    • play_circle_outline

      Clase 3

      Enviar solicitudes de cobro al API de PayPal

    • play_circle_outline

      Clase 4

      Autorización del cobro

    • play_circle_outline

      Clase 5

      Ejecutar el cobro

    • play_circle_outline

      Clase 6

      Guardar venta

Middlewares en Laravel

arrow_back Siguiente arrow_forward
Desarrrolla una tienda en línea con Laravel y Vue