Sobes.tech
Junior — Middle

Hoe krijgt men toegang tot de annotatie in de code voor verwerking?

sobes.tech AI

Antwoord van AI

In PHP wordt meestal een reflectiemechanisme samen met annotatieparsers zoals Doctrine Annotations gebruikt om toegang te krijgen tot annotaties. Met de klasse ReflectionClass, ReflectionMethod of ReflectionProperty kun je commentaren van klassen, methoden of eigenschappen verkrijgen en deze parseren om de annotaties te extraheren.

Voorbeeld van gebruik van 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) {
        // verwerking van de annotatie
    }
}

Als er geen externe bibliotheken worden gebruikt, kan de docblock worden verkregen via $reflection->getDocComment() en handmatig worden geparset.