控制器中间件
最后更新于:2022-04-02 01:49:23
## 控制器中间件
`V5.1.17+`版本开始,支持为控制器定义中间件。首先你的控制器需要继承系统的`think\Controller`类,然后在控制器中定义`middleware`属性,例如:
~~~
['except' => ['hello'] ],
'Hello' => ['only' => ['hello'] ],
];
public function index()
{
return 'index';
}
public function hello()
{
return 'hello';
}
}
~~~
## 控制器传参
可以通过给请求对象赋值的方式传参给控制器(或者其它地方),例如
~~~
hello = 'ThinkPHP';
return $next($request);
}
}
~~~
> 注意,传递的变量名称不要和`param`变量有冲突。
然后在控制器的方法里面可以直接使用
~~~
public function index(Request $request)
{
return $request->hello; // ThinkPHP
}
~~~
';