/** * 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; }