当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Tool_Framework_Registry::getProviderRepository方法代码示例

本文整理汇总了PHP中Zend_Tool_Framework_Registry::getProviderRepository方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Tool_Framework_Registry::getProviderRepository方法的具体用法?PHP Zend_Tool_Framework_Registry::getProviderRepository怎么用?PHP Zend_Tool_Framework_Registry::getProviderRepository使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend_Tool_Framework_Registry的用法示例。


在下文中一共展示了Zend_Tool_Framework_Registry::getProviderRepository方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testAddManfestsWillPersistManifests

 public function testAddManfestsWillPersistManifests()
 {
     $this->_repository->addManifest(new \ZendTest\Tool\Framework\Manifest\TestAsset\ManifestGoodOne());
     $this->_repository->addManifest(new \ZendTest\Tool\Framework\Manifest\TestAsset\ManifestGoodTwo());
     $this->assertEquals(2, count($this->_repository->getManifests()));
     $actionRepository = $this->_registry->getActionRepository();
     $actionRepository->process();
     $providerRepository = $this->_registry->getProviderRepository();
     $providerRepository->process();
     $actions = $actionRepository->getActions();
     $this->assertArrayHasKey('actionone', $actions);
     $this->assertArrayHasKey('actiontwo', $actions);
     $this->assertArrayHasKey('foo', $actions);
     $providers = $providerRepository->getProviders();
     $this->assertArrayHasKey('providerone', $providers);
     $this->assertArrayHasKey('providertwo', $providers);
 }
开发者ID:heiglandreas,项目名称:zf2,代码行数:17,代码来源:RepositoryTest.php

示例2: _handleDispatch

    protected function _handleDispatch()
    {
        // get the provider repository
        $providerRepository = $this->_registry->getProviderRepository();

        $request = $this->_registry->getRequest();

        // get the dispatchable provider signature
        $providerSignature = $providerRepository->getProviderSignature($request->getProviderName());

        // get the actual provider
        $provider = $providerSignature->getProvider();

        // ensure that we can pretend if this is a pretend request
        if ($request->isPretend() && (!$provider instanceof Zend_Tool_Framework_Provider_Pretendable)) {
            require_once 'Zend/Tool/Framework/Client/Exception.php';
            throw new Zend_Tool_Framework_Client_Exception('Dispatcher error - provider does not support pretend');
        }

        // get the action name
        $actionName = $this->_registry->getRequest()->getActionName();
        $specialtyName = $this->_registry->getRequest()->getSpecialtyName();

        if (!$actionableMethod = $providerSignature->getActionableMethodByActionName($actionName, $specialtyName)) {
            require_once 'Zend/Tool/Framework/Client/Exception.php';
            throw new Zend_Tool_Framework_Client_Exception('Dispatcher error - actionable method not found');
        }

        // get the actual method and param information
        $methodName       = $actionableMethod['methodName'];
        $methodParameters = $actionableMethod['parameterInfo'];

        // get the provider params
        $requestParameters = $this->_registry->getRequest()->getProviderParameters();

        // @todo This seems hackish, determine if there is a better way
        $callParameters = array();
        foreach ($methodParameters as $methodParameterName => $methodParameterValue) {
            if (!array_key_exists($methodParameterName, $requestParameters) && $methodParameterValue['optional'] == false) {
                if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
                    $promptSting = $this->getMissingParameterPromptString($provider, $actionableMethod['action'], $methodParameterValue['name']);
                    $parameterPromptValue = $this->promptInteractiveInput($promptSting)->getContent();
                    if ($parameterPromptValue == null) {
                        require_once 'Zend/Tool/Framework/Client/Exception.php';
                        throw new Zend_Tool_Framework_Client_Exception('Value supplied for required parameter "' . $methodParameterValue['name'] . '" is empty');
                    }
                    $callParameters[] = $parameterPromptValue;
                } else {
                    require_once 'Zend/Tool/Framework/Client/Exception.php';
                    throw new Zend_Tool_Framework_Client_Exception('A required parameter "' . $methodParameterValue['name'] . '" was not supplied.');
                }
            } else {
                $callParameters[] = (array_key_exists($methodParameterName, $requestParameters)) ? $requestParameters[$methodParameterName] : $methodParameterValue['default'];
            }
        }

        $this->_handleDispatchExecution($provider, $methodName, $callParameters);
    }
开发者ID:nhp,项目名称:shopware-4,代码行数:58,代码来源:Abstract.php


注:本文中的Zend_Tool_Framework_Registry::getProviderRepository方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。