本文整理汇总了PHP中ReflectionProperty::getAllAnnotations方法的典型用法代码示例。如果您正苦于以下问题:PHP ReflectionProperty::getAllAnnotations方法的具体用法?PHP ReflectionProperty::getAllAnnotations怎么用?PHP ReflectionProperty::getAllAnnotations使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ReflectionProperty
的用法示例。
在下文中一共展示了ReflectionProperty::getAllAnnotations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processMethod
/**
* Processes reflection method.
*
* @param string $componentName name of component
* @param ReflectionProperty $reflectMethod reflection method
*
* @return void
*/
private function processMethod($componentName, $reflectMethod)
{
$reflectAnnotationsList = $reflectMethod->getAllAnnotations();
if ($reflectMethod->isPublic() && !empty($reflectAnnotationsList)) {
foreach ($reflectAnnotationsList as $methodAnnot) {
$annotationClass = get_class($methodAnnot);
if ($annotationClass == self::OBSERVER_ANNOTATION) {
$eventName = $methodAnnot->value;
$this->addEventListener($eventName, ['component' => $componentName, 'method' => $reflectMethod->getName(), 'static' => $reflectMethod->isStatic()], $methodAnnot->priority);
} elseif ($annotationClass == self::FACTORY_ANNOTATION) {
$this->addFactory($methodAnnot->value, ['component' => $componentName, 'method' => $reflectMethod->getName(), 'static' => $reflectMethod->isStatic(), 'scope' => $methodAnnot->scope]);
} else {
if (!isset($this->components[$componentName]['methods'][$reflectMethod->name]) || !isset($this->components[$componentName]['methods'][$reflectMethod->name]['annotations'])) {
$this->components[$componentName]['methods'][$reflectMethod->name] = [];
$this->components[$componentName]['methods'][$reflectMethod->name]['annotations'] = [];
}
$this->components[$componentName]['methods'][$reflectMethod->name]['annotations'][] = $this->exportAnnotation($methodAnnot);
}
}
}
}