Exemple #1
0
 protected function setUp()
 {
     $module = new Module();
     $events = new EventManager();
     $sharedEvents = new SharedEventManager();
     $events->setSharedManager($sharedEvents);
     $plugins = new ControllerPluginManager();
     $this->serviceManager = new ServiceManager();
     $this->serviceManager->setService('Zend\\ServiceManager\\ServiceLocatorInterface', $this->serviceManager);
     $this->serviceManager->setService('EventManager', $events);
     $this->serviceManager->setService('SharedEventManager', $sharedEvents);
     $this->serviceManager->setService('ControllerPluginManager', $plugins);
     $this->controllerManager = new ControllerManager(new Config($module->getControllerConfig()));
     $this->controllerManager->setServiceLocator($this->serviceManager);
     $this->controllerManager->addPeeringServiceManager($this->serviceManager);
 }
 /**
  * Create the controller loader service
  *
  * Creates and returns an instance of ControllerManager. The
  * only controllers this manager will allow are those defined in the
  * application configuration's "controllers" array. If a controller is
  * matched, the scoped manager will attempt to load the controller.
  * Finally, it will attempt to inject the controller plugin manager
  * if the controller implements a setPluginManager() method.
  *
  * This plugin manager is _not_ peered against DI, and as such, will
  * not load unknown classes.
  *
  * @param  ServiceLocatorInterface $serviceLocator
  * @return ControllerManager
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $controllerLoader = new ControllerManager();
     $controllerLoader->setServiceLocator($serviceLocator);
     $controllerLoader->addPeeringServiceManager($serviceLocator);
     $config = $serviceLocator->get('Config');
     if (isset($config['di']) && isset($config['di']['allowed_controllers']) && $serviceLocator->has('Di')) {
         $controllerLoader->addAbstractFactory($serviceLocator->get('DiStrictAbstractServiceFactory'));
     }
     return $controllerLoader;
 }