本文整理汇总了PHP中TYPO3\Flow\Reflection\ReflectionService::getClassAnnotations方法的典型用法代码示例。如果您正苦于以下问题:PHP ReflectionService::getClassAnnotations方法的具体用法?PHP ReflectionService::getClassAnnotations怎么用?PHP ReflectionService::getClassAnnotations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\Flow\Reflection\ReflectionService
的用法示例。
在下文中一共展示了ReflectionService::getClassAnnotations方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildClassDocumentation
/**
* Builds the class documentation block for the specified class keeping doc comments and vital annotations
*
* @return string $methodDocumentation DocComment for the given method
*/
protected function buildClassDocumentation()
{
$classDocumentation = "/**\n";
$classReflection = new \TYPO3\Flow\Reflection\ClassReflection($this->fullOriginalClassName);
$classDescription = $classReflection->getDescription();
$classDocumentation .= ' * ' . str_replace("\n", "\n * ", $classDescription) . "\n";
foreach ($this->reflectionService->getClassAnnotations($this->fullOriginalClassName) as $annotation) {
$classDocumentation .= ' * ' . \TYPO3\Flow\Object\Proxy\Compiler::renderAnnotation($annotation) . "\n";
}
$classDocumentation .= " */\n";
return $classDocumentation;
}
示例2: matches
/**
* Checks if the specified class matches with the class tag filter pattern
*
* @param string $className Name of the class to check against
* @param string $methodName Name of the method - not used here
* @param string $methodDeclaringClassName Name of the class the method was originally declared in - not used here
* @param mixed $pointcutQueryIdentifier Some identifier for this query - must at least differ from a previous identifier. Used for circular reference detection.
* @return boolean TRUE if the class matches, otherwise FALSE
*/
public function matches($className, $methodName, $methodDeclaringClassName, $pointcutQueryIdentifier)
{
$designatedAnnotations = $this->reflectionService->getClassAnnotations($className, $this->annotation);
if ($designatedAnnotations !== array() || $this->annotationValueConstraints === array()) {
$matches = $designatedAnnotations !== array();
} else {
// It makes no sense to check property values for an annotation that is used multiple times, we shortcut and check the value against the first annotation found.
$firstFoundAnnotation = $designatedAnnotations;
$annotationProperties = $this->reflectionService->getClassPropertyNames($this->annotation);
foreach ($this->annotationValueConstraints as $propertyName => $expectedValue) {
if (!array_key_exists($propertyName, $annotationProperties)) {
$this->systemLogger->log('The property "' . $propertyName . '" declared in pointcut does not exist in annotation ' . $this->annotation, LOG_NOTICE);
return FALSE;
}
if ($firstFoundAnnotation->{$propertyName} === $expectedValue) {
$matches = TRUE;
} else {
return FALSE;
}
}
}
return $matches;
}
示例3: matches
/**
* Checks if the specified class matches with the class tag filter pattern
*
* @param string $className Name of the class to check against
* @param string $methodName Name of the method - not used here
* @param string $methodDeclaringClassName Name of the class the method was originally declared in - not used here
* @param mixed $pointcutQueryIdentifier Some identifier for this query - must at least differ from a previous identifier. Used for circular reference detection.
* @return boolean TRUE if the class matches, otherwise FALSE
*/
public function matches($className, $methodName, $methodDeclaringClassName, $pointcutQueryIdentifier)
{
return $this->reflectionService->getClassAnnotations($className, $this->annotation) !== array();
}