public function genParams() { if (!$this->_params) { $viewPath = \Path::instance()->evaluate(':' . $this->project()->name() . ".apps.layout.+{$this->name()}.@params.php"); $this->_params = Params::create($viewPath . '/params.php'); return $this->_params->generate(); } return false; }
public function genParams() { if (!$this->_hasParams) { $viewPath = \Path::instance()->evaluate(':' . $this->controller()->project()->name() . '.apps.view.+' . $this->controller()->name() . '.-' . $this->name()); $this->_params = Params::create($viewPath . '/params.php'); $this->setHasParams(); return $this->_params->generate(); } return false; }
private function _createFromReflection($projectName) { $this->_name = $projectName; $this->_dir = \Fstab::instance()->projectDirectory($projectName); $controllerBasePath = rtrim(\Path::instance()->evaluate(":{$this->_name}.apps.controller"), "/\\"); foreach (glob($controllerBasePath . "/*.php") as $filePath) { $fileName = pathinfo($filePath, PATHINFO_FILENAME); $controllerClassName = $fileName . 'Controller'; if (!class_exists($controllerClassName)) { require $filePath; } if (class_exists($controllerClassName)) { $reflection = new \ReflectionClass($controllerClassName); $this->_controllers[] = AppController::create($this, $reflection); } } $spiritBasePath = rtrim(\Path::instance()->evaluate(":{$this->_name}.spiritPath"), "/\\"); foreach (glob($spiritBasePath . "/*", GLOB_ONLYDIR) as $dirName) { $spiritName = pathinfo($dirName, PATHINFO_FILENAME); $spiritFileName = rtrim($dirName, "/\\") . '/abstractor.php'; $spiritAbstractorClassName = $spiritName . 'Abstractor'; if (!class_exists($spiritAbstractorClassName) && file_exists($spiritFileName)) { require $spiritFileName; } if (class_exists($spiritAbstractorClassName)) { $reflection = new \ReflectionClass($spiritAbstractorClassName); $this->_spirits[] = SpiritController::create($this, $reflection); } } $commonViewPath = rtrim(\Path::instance()->evaluate(":{$this->_name}.common.@view.php"), "/\\"); $commonLayoutPath = rtrim(\Path::instance()->evaluate(":{$this->_name}.common.layout.@layout.php"), "/\\"); $commonParamsPath = rtrim(\Path::instance()->evaluate(":{$this->_name}.common.layout.@params.php"), "/\\"); if (file_exists($commonViewPath)) { $this->_view = CommonView::create($commonViewPath); } if (file_exists($commonLayoutPath)) { $this->_layout = Layout::create($commonLayoutPath); } if (file_exists($commonParamsPath)) { $this->_params = Params::create($commonParamsPath); } }