Sobes.tech
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.