Example #1
0
 public function run(Request $request = null)
 {
     $this->_router = $this->getBootstrap()->getResource("router") ? $this->getBootstrap()->getResource("router") : new Router();
     $this->_request = !$request ? Request::newHttp() : $request;
     $outputBuffer = '';
     $this->getEventManager()->publish("loop.startup", array($this));
     $status = $this->dispatch($this->_router->match($this->_request));
     if (($layout = $this->getBootstrap()->getResource("layout")) instanceof Layout) {
         $layout->content = $this->_page;
         $outputBuffer = $layout->render($layout->getScriptName());
     } else {
         $outputBuffer = $this->_page;
     }
     $this->getEventManager()->publish("loop.shutdown", array($this));
     $this->sendHeaders($status["headers"]);
     echo $outputBuffer;
 }