本文整理汇总了PHP中Zend_Tool_Framework_Registry::getRequest方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Tool_Framework_Registry::getRequest方法的具体用法?PHP Zend_Tool_Framework_Registry::getRequest怎么用?PHP Zend_Tool_Framework_Registry::getRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Tool_Framework_Registry
的用法示例。
在下文中一共展示了Zend_Tool_Framework_Registry::getRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _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);
}