Laravel随笔 扩展包中如何注册中间件

Laravel 创建自己的扩展包 package

配置服务文件:
1、添加中间件的重命名方法
2、boot 方法中调用添加中间件

#packages/liuning/my-first-laravel-package/src/LiuNingLaravelPackageServiceProvider.php
 
// boot 方法中添加如下代码
public function boot()
{
	// ...
    $this->addMiddlewareAlias('liuning.api', ApiAuthMiddleware::class);
    // ...
}
 
 
# 添加中间件的别名方法
protected function addMiddlewareAlias($name, $class)
{
    $router = $this->app['router'];
 
 	// 判断aliasMiddleware是否在类中存在
    if (method_exists($router, 'aliasMiddleware')) {
    	// aliasMiddleware 顾名思义,就是给中间件设置一个别名
        return $router->aliasMiddleware($name, $class);
    }
 
    return $router->middleware($name, $class);

$router->aliasMiddleware($name, $class);执行完相当于在app/Http/Kernel.php中注册了中间件
在这里插入图片描述

发布了40 篇原创文章 · 获赞 0 · 访问量 755

猜你喜欢

转载自blog.csdn.net/qj4865/article/details/104453698