ThinkPHP 5.1 中间件中判断要访问的操作是否存在
ifu25 • 2021 年 01 月 15 日
按惯例还是吐槽 ThinkPHP 官方社区极度不友好,提问基本得不到答案,更很少有官方人员回复。
ThinPHP 5.1 中间件判断 action 是否存在
中间件public function handle($request, \Closure $next)
{
//验证action是否存在
if (!check_action_exists($request)) {
return error("api not found.");
}
//验证 Token
$checkResult = valid_token();
if ($checkResult != '') {
return error($checkResult);
}
return $next($request);
}
common.php/**
* 检查操作是否存在
* @param $request
* @return bool
*/
function check_action_exists($request)
{
$action = $request->action();
$module = $request->module();
$controller = $request->controller();
$classpath = sprintf('app\\%s\\controller\\%s', $module, $controller);
return method_exists($classpath, $action);
}