protected $middleware = [
'CheckToken' => ['except' => ['_empty', 'index']], //验证 token
];然后不管访问哪个操作action,都会先进入CheckToken中间件里面进行验证,我想在CheckToken里先判断一下当前访问的action是否存在,如果存在才真正去验证token,action不存在直接返回错误信息。
问题:
中间件中如何判断action是否存在?
找到有这个方法:
method_exists($this,$act)但里面$this如何设置。namespace app\http\middleware;
class CheckToken
{
/**
* 验证 Token
* @param $request
* @param \Closure $next
* @return mixed|\think\response\Json
*/
public function handle($request, \Closure $next)
{
//TODO:如何验证action是否存在
$act = $request->action(); //请求的操作
$isExists = method_exists($this, $act); //TODO:这里的 $this 如何设置
dump($isExists);
$checkResult = valid_token();
if ($checkResult != '') {
return error($checkResult);
}
return $next($request);
}
} 最佳答案