本文整理汇总了PHP中Zend_Tool_Framework_Registry::getActionRepository方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Tool_Framework_Registry::getActionRepository方法的具体用法?PHP Zend_Tool_Framework_Registry::getActionRepository怎么用?PHP Zend_Tool_Framework_Registry::getActionRepository使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Tool_Framework_Registry
的用法示例。
在下文中一共展示了Zend_Tool_Framework_Registry::getActionRepository方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initialize
/**
* initialized() - This will initialize the client for use
*
*/
public function initialize()
{
// if its already initialized, no need to initialize again
if ($this->_isInitialized) {
return;
}
// run any preInit
$this->_preInit();
$manifest = $this->_registry->getManifestRepository();
$manifest->addManifest(new Zend_Tool_Framework_Client_Manifest());
// setup the debug log
if (!$this->_debugLogger instanceof Zend_Log) {
require_once 'Zend/Log.php';
require_once 'Zend/Log/Writer/Null.php';
$this->_debugLogger = new Zend_Log(new Zend_Log_Writer_Null());
}
// let the loader load, then the repositories process whats been loaded
$this->_registry->getLoader()->load();
// process the action repository
$this->_registry->getActionRepository()->process();
// process the provider repository
$this->_registry->getProviderRepository()->process();
// process the manifest repository
$this->_registry->getManifestRepository()->process();
if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
require_once 'Zend/Tool/Framework/Client/Interactive/InputHandler.php';
}
if ($this instanceof Zend_Tool_Framework_Client_Interactive_OutputInterface) {
$this->_registry->getResponse()->setContentCallback(array($this, 'handleInteractiveOutput'));
}
}
示例2: initialize
/**
* initialized() - This will initialize the client for use
*
*/
public function initialize()
{
// if its already initialized, no need to initialize again
if ($this->_isInitialized) {
return;
}
// this might look goofy, but this is setting up the
// registry for dependency injection into the client
$registry = new Zend_Tool_Framework_Registry();
$registry->setClient($this);
// NOTE: at this moment, $this->_registry should contain
// the registry object
// run any preInit
$this->_preInit();
// setup the debug log
if (!$this->_debugLogger instanceof Zend_Log) {
require_once 'Zend/Log.php';
require_once 'Zend/Log/Writer/Null.php';
$this->_debugLogger = new Zend_Log(new Zend_Log_Writer_Null());
}
// let the loader load, then the repositories process whats been loaded
$this->_registry->getLoader()->load();
// process the action repository
$this->_registry->getActionRepository()->process();
// process the provider repository
$this->_registry->getProviderRepository()->process();
// process the manifest repository
$this->_registry->getManifestRepository()->process();
if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
require_once 'Zend/Tool/Framework/Client/Interactive/InputHandler.php';
}
if ($this instanceof Zend_Tool_Framework_Client_Interactive_OutputInterface) {
$this->_registry->getResponse()->setContentCallback(array($this, 'handleInteractiveOutput'));
}
}
示例3: 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);
}
示例4: _processActionableMethods
/**
* _processActionableMethods() - process all methods that can be called on this provider.
*
*/
protected function _processActionableMethods()
{
$specialtyRegex = '#(.*)(' . implode('|', $this->_specialties) . ')$#i';
$methods = $this->_providerReflection->getMethods();
$actionableMethods = array();
foreach ($methods as $method) {
$methodName = $method->getName();
/**
* the following will determine what methods are actually actionable
* public, non-static, non-underscore prefixed, classes that dont
* contain the name "
*/
if (!$method->getDeclaringClass()->isInstantiable() || !$method->isPublic() || $methodName[0] == '_' || $method->isStatic() || in_array($methodName, array('getContextClasses', 'getName'))) {
continue;
}
/**
* check to see if the method was a required method by a Zend_Tool_* interface
*/
foreach ($method->getDeclaringClass()->getInterfaces() as $methodDeclaringClassInterface) {
if (strpos($methodDeclaringClassInterface->getName(), 'Zend_Tool_') === 0 && $methodDeclaringClassInterface->hasMethod($methodName)) {
continue 2;
}
}
$actionableName = ucfirst($methodName);
if (substr($actionableName, -6) == 'Action') {
$actionableName = substr($actionableName, 0, -6);
}
$actionableMethods[$methodName]['methodName'] = $methodName;
$matches = null;
if (preg_match($specialtyRegex, $actionableName, $matches)) {
$actionableMethods[$methodName]['actionName'] = $matches[1];
$actionableMethods[$methodName]['specialty'] = $matches[2];
} else {
$actionableMethods[$methodName]['actionName'] = $actionableName;
$actionableMethods[$methodName]['specialty'] = '_Global';
}
// get the action, and create non-existent actions when they dont exist (the true part below)
$action = $this->_registry->getActionRepository()->getAction($actionableMethods[$methodName]['actionName']);
if ($action == null) {
$action = new Zend_Tool_Framework_Action_Base($actionableMethods[$methodName]['actionName']);
$this->_registry->getActionRepository()->addAction($action);
}
$actionableMethods[$methodName]['action'] = $action;
if (!in_array($actionableMethods[$methodName]['action'], $this->_actions)) {
$this->_actions[] = $actionableMethods[$methodName]['action'];
}
$parameterInfo = array();
$position = 1;
foreach ($method->getParameters() as $parameter) {
$currentParam = $parameter->getName();
$parameterInfo[$currentParam]['position'] = $position++;
$parameterInfo[$currentParam]['optional'] = $parameter->isOptional();
$parameterInfo[$currentParam]['default'] = $parameter->isOptional() ? $parameter->getDefaultValue() : null;
$parameterInfo[$currentParam]['name'] = $currentParam;
$parameterInfo[$currentParam]['type'] = 'string';
$parameterInfo[$currentParam]['description'] = null;
}
$matches = null;
if (($docComment = $method->getDocComment()) != '' && preg_match_all('/@param\\s+(\\w+)+\\s+(\\$\\S+)\\s+(.*?)(?=(?:\\*\\s*@)|(?:\\*\\/))/s', $docComment, $matches)) {
for ($i = 0; $i <= count($matches[0]) - 1; $i++) {
$currentParam = ltrim($matches[2][$i], '$');
if ($currentParam != '' && isset($parameterInfo[$currentParam])) {
$parameterInfo[$currentParam]['type'] = $matches[1][$i];
$descriptionSource = $matches[3][$i];
if ($descriptionSource != '') {
$parameterInfo[$currentParam]['description'] = trim($descriptionSource);
}
}
}
}
$actionableMethods[$methodName]['parameterInfo'] = $parameterInfo;
}
$this->_actionableMethods = $actionableMethods;
}