本文整理汇总了PHP中Zend_Reflection_Class::hasMethod方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Reflection_Class::hasMethod方法的具体用法?PHP Zend_Reflection_Class::hasMethod怎么用?PHP Zend_Reflection_Class::hasMethod使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Reflection_Class
的用法示例。
在下文中一共展示了Zend_Reflection_Class::hasMethod方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _processSpecialties
/**
* _processSpecialties() - Break out the specialty names for this provider
*
*/
protected function _processSpecialties()
{
$specialties = array();
if ($this->_providerReflection->hasMethod('getSpecialties')) {
$specialties = $this->_provider->getSpecialties();
if (!is_array($specialties)) {
require_once 'Zend/Tool/Framework/Provider/Exception.php';
throw new Zend_Tool_Framework_Provider_Exception(
'Provider ' . get_class($this->_provider) . ' must return an array for method getSpecialties().'
);
}
} else {
$defaultProperties = $this->_providerReflection->getDefaultProperties();
$specialties = (isset($defaultProperties['_specialties'])) ? $defaultProperties['_specialties'] : array();
if (!is_array($specialties)) {
require_once 'Zend/Tool/Framework/Provider/Exception.php';
throw new Zend_Tool_Framework_Provider_Exception(
'Provider ' . get_class($this->_provider) . '\'s property $_specialties must be an array.'
);
}
}
$this->_specialties = array_merge(array('_Global'), $specialties);
}
示例2: _callPlugins
/**
* Trigger Seotoaster plugins hooks
*
* @param $method string Method to trigger
*/
private function _callPlugins($method)
{
$enabledPlugins = Tools_Plugins_Tools::getEnabledPlugins();
if (is_array($enabledPlugins) && !empty($enabledPlugins)) {
array_walk($enabledPlugins, function ($plugin, $key, $data) {
try {
$name = ucfirst($plugin->getName());
Tools_Factory_PluginFactory::validate($name);
$reflection = new Zend_Reflection_Class($name);
if ($reflection->hasMethod($data['method'])) {
$pluginInstance = Tools_Factory_PluginFactory::createPlugin($plugin->getName(), array(), array('websiteUrl' => $data['websiteUrl']));
$pluginInstance->{$data}['method']();
}
} catch (Exceptions_SeotoasterException $se) {
error_log($se->getMessage());
error_log($se->getTraceAsString());
}
}, array('method' => $method, 'websiteUrl' => Zend_Controller_Action_HelperBroker::getStaticHelper('Website')->getUrl()));
}
}
示例3: objectToDictionary
/**
* Method scan given object for properties which has public getters
* and generate array of entities-replacements pairs from this method
* @param $object Object
* @param $namespace Custom namespace for replacements
* @return Tools_Content_EntityParser Return self for chaining
* @throws Exceptions_SeotoasterException
*/
public function objectToDictionary($object, $namespace = null)
{
if (!is_object($object)) {
throw new Exceptions_SeotoasterException('Given variable must be an object');
}
$reflection = new Zend_Reflection_Class($object);
$dictionary = array();
foreach ($reflection->getProperties() as $prop) {
$normalizedPropName = join('', array_map('ucfirst', explode('_', $prop->getName())));
$getter = 'get' . join('', array_map('ucfirst', explode('_', $prop->getName())));
if ($reflection->hasMethod($getter)) {
$replacement = $object->{$getter}();
$className = empty($namespace) ? preg_replace('/.*_([\\w\\d]*)$/', '$1', $reflection->getName()) : $namespace;
$entityName = strtolower($className . ':' . $normalizedPropName);
if (!is_array($replacement) && !is_object($replacement)) {
$dictionary[$entityName] = $replacement;
}
}
}
$this->addToDictionary($dictionary);
return $this;
}
示例4: _runStatic
private static function _runStatic($pluginClass, $method)
{
$reflection = new Zend_Reflection_Class(ucfirst($pluginClass));
if ($reflection->hasMethod($method)) {
return $pluginClass::$method();
}
return false;
}