🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 应用中间件 应用中间件不会自动执行,需要开发者自行调用。 #### 配置 修改配置文件 system/config/middleware.php 中的 web配置顶 ``` 'web' => [ 'auth'=>[ \system\middleware\Auth:class, \system\middleware\Hd:class ] ] ``` #### 执行 使用中间件服务的 web() 方法运行应用中间件 ``` middleware::web('auth'); ``` #### 动态添加 动态添加应用中间件 ``` middleware::add('auth',[\app\Test:class]); //各auth中间件中添加处理动作app\Test类 ``` ## 控制器中间件 控制器中间件只能在控制器访问时有效,普通路由访问时无效。 #### 配置 修改配置文件 system/config/middleware.php 中的controller配置顶 ``` 'controller' => [ 'auth'=>[\system\middleware\Auth:class] ] ``` #### 使用 在控制器的 \_\_construct 方法或之前执行以下代码都可触发控制器中间件运行。 ``` middleware::set('auth'); ``` 只允许指定方法运行中间件 ``` middleware::set('auth', ['only' => ['test']]); ``` 除了某个方法外其他方法执行中间件 ``` middleware::set('auth', ['except' => ['test']]); ``` **示例** ``` namespace app\home\controller; //初始控制器 class Index{ public function __construct(){ //中间件只在test方法中执行 middleware::set('auth', array('only' => array('test'))); } public function index(){ echo 'This7框架'; } public function test(){ echo 'This7视频'; } } ```