예제 #1
0
파일: Common.php 프로젝트: visor/nano
 /**
  * @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);
 }
예제 #2
0
파일: TestCase.php 프로젝트: visor/nano
 /**
  * @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();
 }