You can do this with these two ways:
- Register your middle-ware inside your general middle-ware provider
- Register the middle-ware inside your package Service Provider
lets try first one by create your TestMiddleware.php file in your src package folder and place it in somewhere, in my case i placed it inside Middle-ware folder and then add it to your composer.json auto-loader like this:
"autoload": {
"psr-4": {
"Vendor\\Package\\Middleware": "packages/Vendor/Package/src/Middleware"
}
}
And write your general middle-ware:
namespace Vendor\Package\Middleware;
class TestMiddleware {
public function handle( $request, Closure $next ) {
echo 'hello, world!';
}
}
And then then add the Middle-ware to your main project middle-ware, in Lumen you should add it like this:
$app->middleware([
Vendor\Package\Middleware\TestMiddleware::class
]);
Add middle-ware to package service provider
And the second way, create middle-ware and load it in autoloader like last example and then create a service provider and register your middle-ware inside boot method:
public function boot()
{
$this->app->middleware([
\Vendor\Package\Middleware\TestMiddleware::class
]);
}
And finally you should register your service provider inside your main project (Lumen example)
$app->register(Vendor\Package\TestServiceProvider::class);