php Zend-Mvc-Controller-PluginManager类(方法)实例源码

下面列出了php Zend-Mvc-Controller-PluginManager 类(方法)源码代码实例,从而了解它的用法。

作者:jbarentse    项目:dr   
public function setUp()
    {
        $plugins  = new ControllerPluginManager();
        $selector = $plugins->get('AcceptableViewModelSelector');

        $this->listener   = new AcceptListener($selector, array(
            'controllers' => array(
                'ZFTest\ContentNegotiation\TestAsset\ContentTypeController' => 'Json',
            ),
            'selectors' => array(
                'Json' => array(
                    'Zend\View\Model\JsonModel' => array(
                        'application/json',
                        'application/*+json',
                    ),
                ),
            ),
        ));
        $this->event      = new MvcEvent();
        $this->controller = new TestAsset\ContentTypeController();
        $this->event->setTarget($this->controller);
        $this->event->setRequest(new Request);
        $this->event->setRouteMatch(new RouteMatch(array(
            'controller' => __NAMESPACE__ . '\TestAsset\ContentTypeController',
        )));

        $this->controller->setEvent($this->event);
        $this->controller->setRequest($this->event->getRequest());
        $this->controller->setPluginManager($plugins);
    }

作者:rodriquelc    项目:zf   
public function testGetWithConstrutorAndOptions()
 {
     $pluginManager = new PluginManager();
     $pluginManager->setInvokableClass('samplePlugin', 'ZendTest\\Mvc\\Controller\\Plugin\\TestAsset\\SamplePluginWithConstructor');
     $plugin = $pluginManager->get('samplePlugin', 'foo');
     $this->assertEquals($plugin->getBar(), 'foo');
 }

作者:samsonasi    项目:unname   
/**
  * {@inheritdoc}
  *
  * @param PluginManager $pluginManager
  *
  * @return InitMetaTags
  */
 public function __invoke(PluginManager $pluginManager)
 {
     /* @var \Zend\ServiceManager\ServiceManager */
     $viewHelper = $pluginManager->getController()->getServiceLocator()->get('ViewHelperManager');
     /*
      * @var \Zend\View\Helper\Placeholder\Container
      */
     $placeholderContainer = $viewHelper->get('placeholder')->getContainer('customHead');
     /*
      * @var \Zend\View\Helper\HeadMeta
      */
     $headMeta = $viewHelper->get('HeadMeta');
     /*
      * @var \Zend\Http\PhpEnvironment\Request
      */
     $request = $pluginManager->getController()->getRequest();
     /*
      * @var \SD\Application\Controller\Plugin\SystemSettings
      */
     $systemSettings = $pluginManager->get('systemsettings');
     /*
      * @var InitMetaTags
      */
     $plugin = new InitMetaTags($placeholderContainer, $headMeta, $request, $systemSettings);
     return $plugin;
 }

作者:samsonasi    项目:unname   
/**
  * {@inheritdoc}
  *
  * @param PluginManager $pluginManager
  *
  * @return Translate
  */
 public function __invoke(PluginManager $pluginManager)
 {
     /* @var \Zend\ServiceManager\ServiceManager */
     $translator = $pluginManager->getController()->getServiceLocator()->get('translator')->getTranslator();
     $plugin = new Translate($translator);
     return $plugin;
 }

作者:samsonasi    项目:unname   
/**
  * {@inheritdoc}
  */
 public function __invoke(PluginManager $pluginManager)
 {
     /* @var Zend\ServiceManager\ServiceManager */
     $serviceLocator = $pluginManager->getController()->getServiceLocator();
     $plugin = new GetTableModel($serviceLocator);
     return $plugin;
 }

作者:antaru    项目:mystra-pv   
/**
  * Retourne le plugin url.
  *
  * @var \Zend\Mvc\Controller\PluginManager
  */
 public function url()
 {
     if (!$this->_url) {
         $this->_url = $this->_pluginManager->get('url');
     }
     return $this->_url;
 }

作者:noc-me    项目:zf-res   
public function setUp()
 {
     $this->controller = $controller = new RestController();
     $this->router = $router = new SimpleRouteStack();
     $route = new Segment('/resource[/[:id]]');
     $router->addRoute('resource', $route);
     $this->event = $event = new MvcEvent();
     $event->setRouter($router);
     $event->setRouteMatch(new RouteMatch(array()));
     $controller->setEvent($event);
     $controller->setRoute('resource');
     $pluginManager = new PluginManager();
     $pluginManager->setService('bodyParams', new BodyParams());
     $controller->setPluginManager($pluginManager);
     $urlHelper = new UrlHelper();
     $urlHelper->setRouter($this->router);
     $serverUrlHelper = new ServerUrlHelper();
     $serverUrlHelper->setScheme('http');
     $serverUrlHelper->setHost('localhost.localdomain');
     $linksHelper = new HalHelper();
     $linksHelper->setUrlHelper($urlHelper);
     $linksHelper->setServerUrlHelper($serverUrlHelper);
     $pluginManager->setService('Hal', $linksHelper);
     $linksHelper->setController($controller);
     $this->resource = $resource = new Resource();
     $controller->setResource($resource);
 }

作者:jbarentse    项目:dr   
public function setupHelpers()
    {
        if (!$this->router) {
            $this->setupRouter();
        }

        $urlHelper = new UrlHelper();
        $urlHelper->setRouter($this->router);

        $serverUrlHelper = new ServerUrlHelper();
        $serverUrlHelper->setScheme('http');
        $serverUrlHelper->setHost('localhost.localdomain');

        $linksHelper = new HalHelper();
        $linksHelper->setUrlHelper($urlHelper);
        $linksHelper->setServerUrlHelper($serverUrlHelper);

        $this->helpers = $helpers = new HelperPluginManager();
        $helpers->setService('url', $urlHelper);
        $helpers->setService('serverUrl', $serverUrlHelper);
        $helpers->setService('hal', $linksHelper);

        $this->plugins = $plugins = new ControllerPluginManager();
        $plugins->setService('hal', $linksHelper);
    }

作者:samsonasi    项目:unname   
/**
  * {@inheritdoc}
  */
 public function __invoke(PluginManager $pluginManager)
 {
     $controller = $pluginManager->getController();
     $layout = $controller->layout();
     $response = $controller->getResponse();
     $plugin = new ErrorCodes($layout, $response);
     return $plugin;
 }

作者:quangdungnin    项目:zendvntea   
public function testCreateService()
 {
     $pm = new ControllerPluginManager();
     $sm = new ServiceManager();
     $sm->setService('AcMailer\\Service\\MailService', new MailServiceMock());
     $pm->setServiceLocator($sm);
     $this->assertInstanceOf('AcMailer\\Controller\\Plugin\\SendMailPlugin', $this->factory->createService($pm));
 }

作者:nield    项目:zf   
public function testCanCreateByFactoryWithConstrutor()
 {
     $pluginManager = new PluginManager();
     $pluginManager->setFactory('samplePlugin', 'ZendTest\\Mvc\\Controller\\Plugin\\TestAsset\\SamplePluginWithConstructorFactory');
     $plugin = $pluginManager->get('samplePlugin', 'foo');
     $this->assertInstanceOf('\\ZendTest\\Mvc\\Controller\\Plugin\\TestAsset\\SamplePluginWithConstructor', $plugin);
     $this->assertEquals($plugin->getBar(), 'foo');
 }

作者:wasabiNorma    项目:ZF2-AcMaile   
protected function createControllerManager($config = [])
 {
     $pm = new ControllerPluginManager();
     $sm = new ServiceManager();
     $sm->setService('Config', $config);
     $pm->setServiceLocator($sm);
     return $pm;
 }

作者:debranov    项目:projec   
/**
  * {@inheritDoc}
  */
 public function setUp()
 {
     $this->serviceManager = Bootstrap::getServiceManager();
     $this->entityManager = $this->serviceManager->get('doctrine.entitymanager.orm_default');
     $this->createMergedDocument = new CreateMergedDocument();
     $pluginManager = new PluginManager();
     $pluginManager->setServiceLocator($this->serviceManager);
     $this->createMergedDocument->setServiceLocator($pluginManager);
 }

作者:netsensi    项目:zf2-foundatio   
private function setupMockFlashMessenger($messageType)
 {
     $flashMessenger = $this->getMock('Zend\\Mvc\\Controller\\Plugin\\FlashMessenger');
     $flashMessenger->expects($this->any())->method('has' . $messageType . 'Messages')->will($this->returnValue(true));
     $flashMessenger->expects($this->any())->method('get' . $messageType . 'Messages')->will($this->returnValue($this->testMessages));
     $plugins = new PluginManager();
     $plugins->setService('FlashMessenger', $flashMessenger);
     $this->controller->setPluginManager($plugins);
 }

作者:samsonasi    项目:unname   
/**
  * {@inheritdoc}
  *
  * @param PluginManager $pluginManager
  *
  * @return GetUrlParams
  */
 public function __invoke(PluginManager $pluginManager)
 {
     /*
      * @var \Zend\Mvc\Controller\Plugin\Params
      */
     $params = $pluginManager->get('params');
     $plugin = new GetUrlParams($params);
     return $plugin;
 }

作者:samsonasi    项目:unname   
/**
  * {@inheritdoc}
  *
  * @param PluginManager $pluginManager
  *
  * @return Mailing
  */
 public function __invoke(PluginManager $pluginManager)
 {
     /* @var \Zend\Mvc\Controller\Plugin\FlashMessenger */
     $flashmessenger = $pluginManager->get('flashmessenger');
     /* @var \SD\Application\Controller\Plugin\SystemSettings */
     $systemsettings = $pluginManager->get('systemsettings');
     $plugin = new Mailing($flashmessenger, $systemsettings);
     return $plugin;
 }

作者:fabiopaiv    项目:rdn-cs   
public function testPlugin()
 {
     $config = (include __DIR__ . '/../../../../config/module.config.php');
     $plugins = new PluginManager(new Config($config['controller_plugins']));
     $plugin = $plugins->get('CsvExport');
     $this->assertInstanceOf('RdnCsv\\Controller\\Plugin\\CsvExport', $plugin);
     $anotherPlugin = $plugins->get('CsvExport');
     $this->assertFalse($plugin === $anotherPlugin);
 }

作者:cross-solutio    项目:yawi   
/**
  *
  * @return ViewController
  */
 private function getTestTarget()
 {
     $target = $this->getSimpleTarget();
     $params = $this->getMockBuilder(Params::class)->disableOriginalConstructor()->setMethods(['__invoke'])->getMock();
     $params->expects($this->once())->method('__invoke')->with('id')->willReturn(1234);
     $plugins = new PluginManager();
     $plugins->setService('params', $params);
     $target->setPluginManager($plugins);
     return $target;
 }

作者:joacu    项目:zfj-rba   
public function testFactory()
 {
     $serviceManager = new ServiceManager();
     $pluginManager = new PluginManager();
     $pluginManager->setServiceLocator($serviceManager);
     $serviceManager->setService('ZfjRbac\\Service\\AuthorizationService', $this->getMock('ZfjRbac\\Service\\AuthorizationServiceInterface'));
     $factory = new IsGrantedPluginFactory();
     $isGranted = $factory->createService($pluginManager);
     $this->assertInstanceOf('ZfjRbac\\Mvc\\Controller\\Plugin\\IsGranted', $isGranted);
 }

作者:alex-patterson-webde    项目:arp-aut   
/**
  * __invoke
  *
  * Create the identity controller plugin.
  *
  * @param PluginManager  $controllerPluginManager  The controller plugin manager.
  * @param string         $name                     The name of the service being created.
  * @param string         $requestedName            The requested name of the service being created.
  *
  * @return Identity
  */
 public function __invoke(PluginManager $controllerPluginManager, $name, $requestedName)
 {
     /** @var ServiceManager $serviceManager */
     $serviceManager = $controllerPluginManager->getServiceLocator();
     $options = $this->getOptions($serviceManager, $requestedName);
     if (empty($options['auth_service'])) {
         throw new ServiceNotCreatedException(sprintf('The required \'auth_service\' configuration option for service \'%s\' could not be found in \'%s\'.', $requestedName, __METHOD__));
     }
     /** @var AuthenticationServiceInterface $authenticationService */
     $authenticationService = $serviceManager->get($options['auth_service']);
     return new Identity($authenticationService);
 }


问题


面经


文章

微信
公众号

扫码关注公众号