/** * @return string */ public function controllerClass() { if (null === $this->module) { return \Nano\Names::applicationClass($this->controller, \Nano\Names::NAMESPACE_CONTROLLER); } return \Nano\Names::moduleClass($this->module, $this->controller, \Nano\Names::NAMESPACE_CONTROLLER); }
/** * @return \Nano\Controller\Response\Test * @param \Nano\Application $application * @param string $module * @param string $controller * @param string $action * @param array $params */ protected static function runAction(\Nano\Application $application, $module, $controller, $action, array $params = array()) { /** @var \Nano\Controller $instance */ $className = null === $module ? \Nano\Names::applicationClass($controller, \Nano\Names::NAMESPACE_CONTROLLER) : \Nano\Names::moduleClass($module, $controller, \Nano\Names::NAMESPACE_CONTROLLER); $instance = new $className($application); $instance->setResponse(new \Nano\Controller\Response\Test($application)); $instance->setRenderer(new \Nano\Render($application)); $params['module'] = $module; $params['controller'] = $controller; $params['action'] = $action; $application->dispatcher->setParams($params); self::setObjectProperty($application->dispatcher, 'controllerInstance', $instance); $instance->run($action); return $instance->response(); }