/** * @param ServiceLocatorInterface $serviceLocator * * @return CalendarService */ public function createService(ServiceLocatorInterface $serviceLocator) { $calendarService = new CalendarService(); $calendarService->setServiceLocator($serviceLocator); /** @var EntityManager $entityManager */ $entityManager = $serviceLocator->get(EntityManager::class); $calendarService->setEntityManager($entityManager); /** @var Authorize $authorizeService */ $authorizeService = $serviceLocator->get(Authorize::class); $calendarService->setAuthorizeService($authorizeService); /** @var ContactService $contactService */ $contactService = $serviceLocator->get(ContactService::class); $calendarService->setContactService($contactService); /** @var AdminService $adminService */ $adminService = $serviceLocator->get(AdminService::class); $calendarService->setAdminService($adminService); /** @var ModuleOptions $moduleOptions */ $moduleOptions = $serviceLocator->get(ModuleOptions::class); $calendarService->setModuleOptions($moduleOptions); return $calendarService; }