81 lines
2.5 KiB
PHP
81 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace Doctrine\Common\Annotations;
|
|
|
|
use ReflectionClass;
|
|
use ReflectionMethod;
|
|
use ReflectionProperty;
|
|
|
|
/**
|
|
* Interface for annotation readers.
|
|
*/
|
|
interface Reader
|
|
{
|
|
/**
|
|
* Gets the annotations applied to a class.
|
|
*
|
|
* @param ReflectionClass $class The ReflectionClass of the class from which
|
|
* the class annotations should be read.
|
|
*
|
|
* @return array<object> An array of Annotations.
|
|
*/
|
|
public function getClassAnnotations(ReflectionClass $class);
|
|
|
|
/**
|
|
* Gets a class annotation.
|
|
*
|
|
* @param ReflectionClass $class The ReflectionClass of the class from which
|
|
* the class annotations should be read.
|
|
* @param class-string<T> $annotationName The name of the annotation.
|
|
*
|
|
* @return T|null The Annotation or NULL, if the requested annotation does not exist.
|
|
*
|
|
* @template T
|
|
*/
|
|
public function getClassAnnotation(ReflectionClass $class, $annotationName);
|
|
|
|
/**
|
|
* Gets the annotations applied to a method.
|
|
*
|
|
* @param ReflectionMethod $method The ReflectionMethod of the method from which
|
|
* the annotations should be read.
|
|
*
|
|
* @return array<object> An array of Annotations.
|
|
*/
|
|
public function getMethodAnnotations(ReflectionMethod $method);
|
|
|
|
/**
|
|
* Gets a method annotation.
|
|
*
|
|
* @param ReflectionMethod $method The ReflectionMethod to read the annotations from.
|
|
* @param class-string<T> $annotationName The name of the annotation.
|
|
*
|
|
* @return T|null The Annotation or NULL, if the requested annotation does not exist.
|
|
*
|
|
* @template T
|
|
*/
|
|
public function getMethodAnnotation(ReflectionMethod $method, $annotationName);
|
|
|
|
/**
|
|
* Gets the annotations applied to a property.
|
|
*
|
|
* @param ReflectionProperty $property The ReflectionProperty of the property
|
|
* from which the annotations should be read.
|
|
*
|
|
* @return array<object> An array of Annotations.
|
|
*/
|
|
public function getPropertyAnnotations(ReflectionProperty $property);
|
|
|
|
/**
|
|
* Gets a property annotation.
|
|
*
|
|
* @param ReflectionProperty $property The ReflectionProperty to read the annotations from.
|
|
* @param class-string<T> $annotationName The name of the annotation.
|
|
*
|
|
* @return T|null The Annotation or NULL, if the requested annotation does not exist.
|
|
*
|
|
* @template T
|
|
*/
|
|
public function getPropertyAnnotation(ReflectionProperty $property, $annotationName);
|
|
}
|