Yii2 如何判断一个路由是否存在?
Yii2的路由规则:“moduleId/controllerId/actionId”,通过下面的代码可以校验路由是否存在
/**
* 路由是否存在
* @param $moduleId
* @param $controllerId
* @param $actionId
* @return bool
*/
protected function routeExist($moduleId, $controllerId, $actionId)
{
$module = \Yii::$app->getModule($moduleId);
if (empty($module)) {
return false;
}
$controller = $module->createControllerByID($controllerId);
if (empty($controller)) {
return false;
}
$actions = $controller->actions();
return isset($actions[$actionId]);
}