Sobes.tech
Junior — Middle

Hogyan lehet hozzáférni a kódban az annotációhoz a feldolgozásához?

sobes.tech MI

Válasz az MI-től

PHP-ben az annotációkhoz való hozzáférés általában reflexiós mechanizmust és olyan annotációs elemzőket használ, mint például a Doctrine Annotations. A ReflectionClass, ReflectionMethod vagy ReflectionProperty osztályok segítségével lekérheted az osztályok, metódusok vagy tulajdonságok kommentjeit, majd ezeket elemzed az annotációk kinyeréséhez.

A Doctrine Annotations használatának példája:

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) {
        // annotáció feldolgozása
    }
}

Ha nem használsz külső könyvtárakat, a docblock-ot a $reflection->getDocComment() segítségével szerezheted be, és manuálisan elemezheted az annotáció szövegét.