/** * @param DiInterface $di * @param array $serviceNames */ public function __construct($di, $serviceNames = ['db' => ['db'], 'dispatch' => ['dispatcher'], 'view' => ['view']]) { $this->di = $di; $this->startTime = microtime(true); $this->profiler = new Profiler(); $eventsManager = $di->get('eventsManager'); foreach ($di->getServices() as $service) { $name = $service->getName(); foreach ($serviceNames as $eventName => $services) { if (in_array($name, $services)) { $service->setShared(true); $di->get($name)->setEventsManager($eventsManager); break; } } } foreach (array_keys($serviceNames) as $eventName) { $eventsManager->attach($eventName, $this); } $this->serviceNames = $serviceNames; }
/** * DebugWidget constructor. * @param DiInterface $di * @param array $serviceNames * @param array $panels */ public function __construct($di, $serviceNames = array('db' => array('db'), 'dispatch' => array('dispatcher'), 'view' => array('view')), $panels = array('server', 'request', 'views', 'db')) { $this->_di = $di; $this->startTime = microtime(true); $this->_profiler = new Profiler(); $eventsManager = $di->get('eventsManager'); foreach ($di->getServices() as $service) { /** @var Di\Service $service */ $name = $service->getName(); foreach ($serviceNames as $eventName => $services) { if (in_array($name, $services)) { $service->setShared(true); $di->get($name)->setEventsManager($eventsManager); break; } } } foreach (array_keys($serviceNames) as $eventName) { $eventsManager->attach($eventName, $this); } $this->_serviceNames = $serviceNames; $this->_panels = $panels; }