本文整理汇总了PHP中Zend\Mvc\Controller\ControllerManager::addAbstractFactory方法的典型用法代码示例。如果您正苦于以下问题:PHP ControllerManager::addAbstractFactory方法的具体用法?PHP ControllerManager::addAbstractFactory怎么用?PHP ControllerManager::addAbstractFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Mvc\Controller\ControllerManager
的用法示例。
在下文中一共展示了ControllerManager::addAbstractFactory方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createService
/**
* 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;
}
示例2: setUp
public function setUp()
{
$this->services = $services = new ServiceManager();
$this->controllers = $controllers = new ControllerManager();
$this->factory = $factory = new ResourceControllerFactory();
$controllers->addAbstractFactory($factory);
$controllers->setServiceLocator($services);
$services->setService('Zend\\ServiceManager\\ServiceLocatorInterface', $services);
$services->setService('Config', $this->getConfig());
$services->setService('ControllerLoader', $controllers);
$services->setFactory('ControllerPluginManager', 'Zend\\Mvc\\Service\\ControllerPluginManagerFactory');
$services->setInvokableClass('EventManager', 'Zend\\EventManager\\EventManager');
$services->setInvokableClass('SharedEventManager', 'Zend\\EventManager\\SharedEventManager');
$services->setShared('EventManager', false);
}
示例3: getServiceManager
public function getServiceManager()
{
$controllers = new ControllerManager();
$controllers->addAbstractFactory('ZF\\Rest\\Factory\\RestControllerFactory');
$services = new ServiceManager();
$services->setService('Zend\\ServiceManager\\ServiceLocatorInterface', $services);
$services->setService('ControllerLoader', $controllers);
$services->setService('Config', ['zf-rest' => ['Api\\RestController' => ['listener' => 'CollectionIntegrationListener', 'page_size' => 3, 'route_name' => 'resource', 'route_identifier_name' => 'id', 'collection_name' => 'items', 'collection_query_whitelist' => ['query']]]]);
$services->setInvokableClass('SharedEventManager', 'Zend\\EventManager\\SharedEventManager');
$services->setInvokableClass('CollectionIntegrationListener', 'ZFTest\\Rest\\TestAsset\\CollectionIntegrationListener');
$services->setFactory('EventManager', 'Zend\\Mvc\\Service\\EventManagerFactory');
$services->setFactory('ControllerPluginManager', 'Zend\\Mvc\\Service\\ControllerPluginManagerFactory');
$services->setShared('EventManager', false);
$collection = $this->setUpCollection();
$services->addInitializer(function ($instance, $services) use($collection) {
if (!$instance instanceof TestAsset\CollectionIntegrationListener) {
return;
}
$instance->setCollection($collection);
});
$controllers->setServiceLocator($services);
$plugins = $services->get('ControllerPluginManager');
$plugins->setService('Hal', $this->linksHelper);
return $services;
}