Junior — Middle
Ako získať prístup k anotácii v kóde na jej spracovanie?
sobes.tech AI
Odpoveď od AI
V PHP sa obvykle používa mechanizmus reflexie spolu s analyzátormi anotácií, ako je Doctrine Annotations. Pomocou triedy ReflectionClass, ReflectionMethod alebo ReflectionProperty môžete získať komentáre k triedam, metódam alebo vlastnostiam a následne ich analyzovať na extrakciu anotácií.
Príklad použitia 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) {
// spracovanie anotácie
}
}
Ak nepoužívate externé knižnice, môžete získať docblock cez $reflection->getDocComment() a manuálne ho analyzovať.