Exemplo n.º 1
0
 /**
  * Forward event if required
  *
  * @param   Dispatcher Current dispatcher
  **/
 protected function forward(Dispatcher $dispatcher)
 {
     if (is_array($this->forwards)) {
         if (Phalcana::$isCli) {
             echo "HTTP Error: " . $this->code;
             echo ' - ' . $this->message . PHP_EOL;
             exit;
         }
         if (isset($this->forwards['namespace'])) {
             $dispatcher->setNamespaceName($this->forwards['namespace']);
         } else {
             $dispatcher->setNamespaceName('Phalcana\\Controllers');
         }
         $dispatcher->setControllerName($this->forwards['controller']);
         $dispatcher->setActionName($this->forwards['action']);
         $controller = $dispatcher->dispatch();
         $view = $controller->view;
         $view->start();
         // Render the related views
         $view->render($dispatcher->getControllerName(), $dispatcher->getActionName(), $dispatcher->getParams());
         // Finish the view
         $view->finish();
         $response = $controller->response;
         // Pass the output of the view to the response
         $response->setContent($view->getContent());
         // Send the request headers
         $response->sendHeaders();
         // Print the response
         echo $response->getContent();
         exit(1);
     }
     return true;
 }