// Attach the listener $eventsManager->attach('dispatch', new ControllersListener($di)); return $dispatcher; }); /** * Set the timeService */ $di->setShared('timeService', function () use($config) { return new TimeService($config->timeService->toArray()); }); /** * Set the User Service */ $di->setShared('user', function () use($config, $di) { $user = new UserService($config->user->toArray()); $user->setDi($di); $eventsManager = $di->get('eventManager'); // Set the event manager for user service $user->setEventsManager($eventsManager); // Attach the listener $eventsManager->attach('user', new AuthListener()); return $user; }); /** * Set the Asset manager */ $di->setShared('assetManager', function () use($config) { return new AssetManager($config->assetManager->toArray()); }); // Set the Widget manager $di->setShared('widget', function () use($config, $di) {