Yii 2はルーティングが存在するかどうかをどのように判断します

1809 ワード

Yii 2はルーティングが存在するかどうかをどのように判断しますか?
Yii 2のルーティングルール:「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]);
}