Example #1
0
 /**
  * Run controller chain.
  */
 public function run()
 {
     $this->init();
     $event = $this->registry->getObserver()->trigger($this, 'beforeRunControllerChain');
     //listeners can prevent running chain
     if (!$event->isDefaultPrevented()) {
         foreach ($this->controllerChain as $item) {
             $item['instance']->{$item['action']}();
         }
     }
 }
Example #2
0
 /**
  * Initialize application. Make all necessary components and put it in registry.
  *
  * @return $this
  */
 public function initialize()
 {
     $this->kit = $this->makeKit();
     //make basic components
     $this->registry = $this->kit->makeRegistry();
     $this->registry->setConfig($this->config)->setKit($this->kit)->setObserver($this->kit->makeObserver());
     //trigger event
     $event = $this->registry->getObserver()->trigger($this, 'beforeInitialize');
     if ($event->isDefaultPrevented()) {
         return;
     }
     $request = $this->makeRequest();
     //put components in registry
     $this->registry->setConnectionStorage($this->kit->makeConnectionStorage())->setRequest($request)->setResponse($this->makeResponse($request))->setFlashMessenger($this->kit->makeFlashMessenger());
     $this->setupConnectionForTableModels();
     $this->initialized = true;
     $this->frontController = $this->makeFrontController();
     return $this;
 }