10 DE December DE 2022
Últimamente he estado trabajando en crear paquetes para composer para ser usados con Laravel y me encontré con la necesidad de agregar varios middlewares a otros grupos de middlewares. Redundante lo sé pero espero que con el ejemplo que te voy a dar puedas entender mejor 🤣
Ok, entonces qué es un grupo de middleware? La respuesta es sencilla, si vas al archivo app/Http/Kernel.php
ahí vas a poder encontrar un arreglo llamado $middlewareGroups
que incluye las claves "web" y "api".
Entendiendo ya los grupos de middleware ahora pasaré a explicar como agregar un middleware desde el service provider de un paquete.
Es tan sencillo como hacer lo siguiente:
1<?php 2 3namespace MyPackage\Namespace; 4 5use MyPackage\Http\Middleware\CustomMiddleware; 6use Illuminate\Support\ServiceProvider; 7 8class MyServiceProvider extends ServiceProvider 9{10 public function register()11 {12 /** @var Router $router */13 $router = $this->app['router'];14 $router->pushMiddlewareToGroup('web', CustomMiddleware::class);15 }16}
También si quisieran agregar un alias para un middleware lo pueden hacer de esta forma:
1<?php 2 3namespace MyPackage\Namespace; 4 5use MyPackage\Http\Middleware\CustomMiddleware; 6use Illuminate\Support\ServiceProvider; 7 8class MyServiceProvider extends ServiceProvider 9{10 public function register()11 {12 /** @var Router $router */13 $router = $this->app['router'];14 $router->aliasMiddleware(15 'custom.middleware',16 CustomMiddleware::class17 );18 }19}
Y ya a partir de aquí queda de ustedes usarlo en las rutas o en el constructor de sus controladores. 😉
Made with ♥️ & 🧉 in Montevideo, Uruguay.
[AC].dev is not affiliated with Laravel or Laravel LLC. Laravel is a Trademark of Taylor Otwell.
Code highlighting provided by Torchlight.
We use cookies!
Hi, this website uses essential cookies to ensure its proper operation and tracking cookies to understand how you interact with it.