Cml\Service\Route::findAction PHP Метод

findAction() приватный Метод

从文件查找控制器
private findAction ( array &$pathInfo, string &$path )
$pathInfo array
$path string
    private function findAction(&$pathInfo, &$path)
    {
        $controllerPath = $controllerName = '';
        $routeAppHierarchy = Config::get('route_app_hierarchy', 1);
        $i = 0;
        $controllerSuffix = Config::get('controller_suffix');
        while ($dir = array_shift($pathInfo)) {
            $controllerName = ucfirst($dir);
            $controller = Cml::getApplicationDir('apps_path') . $path . Cml::getApplicationDir('app_controller_path_name') . '/' . $controllerPath . $controllerName . $controllerSuffix . '.php';
            if ($i >= $routeAppHierarchy && is_file($controller)) {
                self::$urlParams['controller'] = $controllerPath . $controllerName;
                break;
            } else {
                if ($i++ < $routeAppHierarchy) {
                    $path .= $dir . '/';
                } else {
                    $controllerPath .= $dir . '/';
                }
            }
        }
        empty(self::$urlParams['controller']) && (self::$urlParams['controller'] = $controllerName);
        //用于404的时候挂载插件用
        self::$urlParams['action'] = array_shift($pathInfo);
    }