Junior — Middle
How can access to annotations in the code be obtained for processing?
sobes.tech AI
Answer from AI
In PHP, to access annotations, the reflection mechanism is usually used together with annotation parsers like Doctrine Annotations. Using classes like ReflectionClass, ReflectionMethod, or ReflectionProperty, you can get comments on classes, methods, or properties, and then parse them to extract annotations.
Example with Doctrine Annotations:
use Doctrine\Common\Annotations\AnnotationReader;
$reflectionClass = new ReflectionClass(SomeClass::class);
$reader = new AnnotationReader();
foreach ($reflectionClass->getMethods() as $method) {
$annotations = $reader->getMethodAnnotations($method);
foreach ($annotations as $annotation) {
// process annotation
}
}
If you do not use third-party libraries, you can get the docblock via $reflection->getDocComment() and manually parse the annotation text.