public function bootstrap(array $listeners = [])
{
$serviceManager = $this->serviceManager;
$events = $this->events;
// Setup default listeners
$listeners = array_unique(array_merge($this->defaultListeners, $listeners));
foreach ($listeners as $listener) {
$serviceManager->get($listener)->attach($events);
}
// Setup MVC Event
$this->event = $event = new MvcEvent();
$event->setName(MvcEvent::EVENT_BOOTSTRAP);
$event->setTarget($this);
$event->setApplication($this);
$event->setRequest($this->request);
$event->setResponse($this->response);
$event->setRouter($serviceManager->get('Router'));
// Trigger bootstrap events
$events->triggerEvent($event);
return $this;
}
protected function getApplication() { if (null === $this->application) { $this->application = $this->getServiceManager()->get('Application'); $this->application->bootstrap(); } return $this->application; }