Junior — Middle
Jak získat přístup k anotaci v kódu pro její zpracování?
sobes.tech AI
Odpověď od AI
V PHP se obvykle k anotacím používá mechanismus reflexe spolu s analyzátory anotací, například Doctrine Annotations. Pomocí třídy ReflectionClass, ReflectionMethod nebo ReflectionProperty lze získat komentáře ke třídám, metodám nebo vlastnostem a poté je analyzovat za účelem extrakce anotací.
Příklad použití 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) {
// zpracování anotace
}
}
Pokud nepoužíváte externí knihovny, můžete získat docblock přes $reflection->getDocComment() a ručně jej analyzovat.