此文章发布于68
个月前,部分信息可能已经过时
,请自行斟酌确认。
按惯例还是吐槽 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);
}