/** * Override events manager default in Phalcon * @return \Phalex\Di\Di */ protected function setEventsManager() { $ev = new EventsManager(); $ev->enablePriorities(true); $ev->collectResponses(true); $this->set('eventsManager', $ev, true); return $this; }
/** * * @param Di $diFactory */ public function __construct(Di $diFactory) { $this->diFactory = $diFactory; $this->loader = new Loader(); $ev = new EventsManager(); $ev->enablePriorities(true); $ev->collectResponses(true); $diFactory->set('autoloaderEventsManager', $ev, true); $this->loader->setEventsManager($ev); }
public function __construct(Di $di) { parent::__construct(); $this->di = $di; $eventsManager = new EventsManager(); $eventsManager->enablePriorities(true); $eventsManager->collectResponses(true); $di->set('eventsManager', $eventsManager, true); $this->setEventsManager($eventsManager); $this->setDI($di); $this->setDefaultAction('index'); $this->setDefaultController('index'); }
<?php use Phalcon\Events\Manager as EventsManager; $evManager = new EventsManager(); //Set up the events manager to collect responses $evManager->collectResponses(true); //Attach a listener $evManager->attach('custom:custom', function () { return 'first response'; }); //Attach a listener $evManager->attach('custom:custom', function () { return 'second response'; }); //Fire the event $evManager->fire('custom:custom', null); //Get all the collected responses print_r($evManager->getResponses());