Secciones

Abstract Class Phalcon\Annotations\Adapter\AbstractAdapter

Código fuente en GitHub

Namespace Phalcon\Annotations\Adapter   Uses Phalcon\Annotations\Reader, Phalcon\Annotations\Exception, Phalcon\Annotations\Collection, Phalcon\Annotations\Reflection, Phalcon\Annotations\ReaderInterface   Implements AdapterInterface

Esta es la clase base para adaptadores Phalcon\Annotations

Propiedades

/**
 * @var array
 */
protected annotations;

/**
 * @var Reader
 */
protected reader;

Métodos

public function get( mixed $className ): Reflection;

Analiza o recupera todas las anotaciones encontradas en una clase

public function getMethod( string $className, string $methodName ): Collection;

Devuelve las anotaciones encontradas en un método específico

public function getMethods( string $className ): array;

Devuelve las anotaciones encontradas en todos los métodos de la clase

public function getProperties( string $className ): array;

Devuelve las anotaciones encontradas en todas las propiedades de la clase

public function getProperty( string $className, string $propertyName ): Collection;

Devuelve las anotaciones encontradas en un propiedad específica

public function getReader(): ReaderInterface;

Devuelve el lector de anotaciones

public function setReader( ReaderInterface $reader );

Establece el analizador de anotaciones

Interface Phalcon\Annotations\Adapter\AdapterInterface

Código fuente en GitHub

Namespace Phalcon\Annotations\Adapter   Uses Phalcon\Annotations\Reflection, Phalcon\Annotations\Collection, Phalcon\Annotations\ReaderInterface

Esta interfaz debe ser implementada por adaptadores de Phalcon\Annotations

Métodos

public function get( string $className ): Reflection;

Analiza o recupera todas las anotaciones encontradas en una clase

public function getMethod( string $className, string $methodName ): Collection;

Devuelve las anotaciones encontradas en un método específico

public function getMethods( string $className ): array;

Devuelve las anotaciones encontradas en todos los métodos de la clase

public function getProperties( string $className ): array;

Devuelve las anotaciones encontradas en todas las propiedades de la clase

public function getProperty( string $className, string $propertyName ): Collection;

Devuelve las anotaciones encontradas en un propiedad específica

public function getReader(): ReaderInterface;

Devuelve el lector de anotaciones

public function setReader( ReaderInterface $reader );

Establece el analizador de anotaciones

Class Phalcon\Annotations\Adapter\Apcu

Código fuente en GitHub

Namespace Phalcon\Annotations\Adapter   Uses Phalcon\Annotations\Reflection   Extends AbstractAdapter

Almacena las anotaciones analizadas en APCu. Este adaptador es adecuado para producción

use Phalcon\Annotations\Adapter\Apcu;

$annotations = new Apcu();

Propiedades

/**
 * @var string
 */
protected prefix = ;

/**
 * @var int
 */
protected ttl = 172800;

Métodos

public function __construct( array $options = [] );
public function read( string $key ): Reflection | bool;

Lee anotaciones analizadas desde APCu

public function write( string $key, Reflection $data ): bool;

Escribe anotaciones analizadas en APCu

Class Phalcon\Annotations\Adapter\Memory

Código fuente en GitHub

Namespace Phalcon\Annotations\Adapter   Uses Phalcon\Annotations\Reflection   Extends AbstractAdapter

Almacena anotaciones analizadas en memoria. Este adaptador es el adecuado para desarrollo/pruebas

Propiedades

/**
 * @var mixed
 */
protected data;

Métodos

public function read( string $key ): Reflection | bool;

Lee anotaciones analizadas desde memoria

public function write( string $key, Reflection $data ): void;

Escribe anotaciones analizadas en memoria

Class Phalcon\Annotations\Adapter\Stream

Código fuente en GitHub

Namespace Phalcon\Annotations\Adapter   Uses Phalcon\Annotations\Reflection, Phalcon\Annotations\Exception, RuntimeException   Extends AbstractAdapter

Almacena las anotaciones analizadas en ficheros. Este adaptador es adecuado para producción

use Phalcon\Annotations\Adapter\Stream;

$annotations = new Stream(
    [
        "annotationsDir" => "app/cache/annotations/",
    ]
);

Propiedades

/**
 * @var string
 */
protected annotationsDir = ./;

Métodos

public function __construct( array $options = [] );
public function read( string $key ): Reflection | bool | int;

Lee anotaciones analizadas desde ficheros

public function write( string $key, Reflection $data ): void;

Escribe anotaciones analizadas en ficheros

Class Phalcon\Annotations\Annotation

Código fuente en GitHub

Namespace Phalcon\Annotations

Representa a una sola anotación dentro de una colección de anotaciones

Propiedades

/**
 * Annotation Arguments
 *
 * @var array
 */
protected arguments;

/**
 * Annotation ExprArguments
 *
 * @var array
 */
protected exprArguments;

/**
 * Annotation Name
 *
 * @var string|null
 */
protected name;

Métodos

public function __construct( array $reflectionData );

Constructor Phalcon\Annotations\Annotation

public function getArgument( mixed $position ): mixed | null;

Devuelve un argumento en una posición específica

public function getArguments(): array;

Devuelve los argumentos de la expresión

public function getExprArguments(): array;

Devuelve los argumentos de la expresión sin resolver

public function getExpression( array $expr ): mixed;

Resuelve una expresión de anotación

public function getName(): null | string;

Devuelve el nombre de la anotación

public function getNamedArgument( string $name ): mixed | null;

Devuelve el argumento nombrado

public function getNamedParameter( string $name ): mixed;

Devuelve el parámetro nombrado

public function hasArgument( mixed $position ): bool;

Devuelve un argumento en una posición específica

public function numberArguments(): int;

Devuelve el número de argumentos que tiene la anotación

Class Phalcon\Annotations\AnnotationsFactory

Código fuente en GitHub

Namespace Phalcon\Annotations   Uses Phalcon\Annotations\Adapter\AdapterInterface, Phalcon\Factory\AbstractFactory, Phalcon\Helper\Arr   Extends AbstractFactory

Fábrica para crear componentes de anotaciones

Métodos

public function __construct( array $services = [] );

Constructor AdapterFactory.

public function load( mixed $config ): mixed;
public function newInstance( string $name, array $options = [] ): AdapterInterface;

Crea una nueva instancia del adaptador

protected function getAdapters(): array;

Los adaptadores disponibles

Class Phalcon\Annotations\Collection

Código fuente en GitHub

Namespace Phalcon\Annotations   Uses Countable, Iterator   Implements Iterator, Countable

Representa una colección de anotaciones. Esta clase permite recorrer fácilmente un grupo de anotaciones

// Traverse annotations
foreach ($classAnnotations as $annotation) {
    echo "Name=", $annotation->getName(), PHP_EOL;
}

// Check if the annotations has a specific
var_dump($classAnnotations->has("Cacheable"));

// Get an specific annotation in the collection
$annotation = $classAnnotations->get("Cacheable");

Propiedades

/**
 * @var array
 */
protected annotations;

/**
 * @var int
 */
protected position = 0;

Métodos

public function __construct( array $reflectionData = [] );

Constructor Phalcon\Annotations\Collection

public function count(): int;

Devuelve el número de anotaciones en la colección

public function current(): Annotation | bool;

Devuelve la anotación actual en el iterador

public function get( string $name ): Annotation;

Devuelve la primera anotación que coincide con un nombre

public function getAll( string $name ): Annotation[];

Devuelve todas las anotaciones que coinciden con un nombre

public function getAnnotations(): Annotation[];

Devuelve las anotaciones internas como un vector

public function has( string $name ): bool;

Comprobar si existe una anotación en una colección

public function key(): int;

Devuelve la clave/posición actual en el iterador

public function next(): void;

Mueve el puntero de iteración interno a la siguiente posición

public function rewind(): void;

Rebobina el iterador interno

public function valid(): bool;

Verifica si la anotación actual del iterador es válida

Class Phalcon\Annotations\Exception

Código fuente en GitHub

Namespace Phalcon\Annotations   Extends \Phalcon\Exception

Clase para excepciones lanzadas por Phalcon\Annotations

Class Phalcon\Annotations\Reader

Código fuente en GitHub

Namespace Phalcon\Annotations   Uses ReflectionClass   Implements ReaderInterface

Analiza los docblocks para devolver un vector con las anotaciones encontradas

Métodos

public function parse( string $className ): array;

Lee las anotaciones de la clase docblocks, sus métodos y/o propiedades

public static function parseDocBlock( string $docBlock, mixed $file = null, mixed $line = null ): array;

Procesa un bloque doc en bruto devolviendo las anotaciones encontradas

Interface Phalcon\Annotations\ReaderInterface

Código fuente en GitHub

Namespace Phalcon\Annotations

Analiza los docblocks para devolver un vector con las anotaciones encontradas

Métodos

public function parse( string $className ): array;

Lee las anotaciones de la clase docblocks, sus métodos y/o propiedades

public static function parseDocBlock( string $docBlock, mixed $file = null, mixed $line = null ): array;

Procesa un bloque doc en bruto devolviendo las anotaciones encontradas

Class Phalcon\Annotations\Reflection

Código fuente en GitHub

Namespace Phalcon\Annotations

Permite manipular la reflexión de las anotaciones en una forma Orientada a Objectos

use Phalcon\Annotations\Reader;
use Phalcon\Annotations\Reflection;

// Parse the annotations in a class
$reader = new Reader();
$parsing = $reader->parse("MyComponent");

// Create the reflection
$reflection = new Reflection($parsing);

// Get the annotations in the class docblock
$classAnnotations = $reflection->getClassAnnotations();

Propiedades

//
protected classAnnotations;

//
protected methodAnnotations;

//
protected propertyAnnotations;

/**
 * @var array
 */
protected reflectionData;

Métodos

public function __construct( array $reflectionData = [] );

Constructor Phalcon\Annotations\Reflection

public function getClassAnnotations(): Collection | bool;

Devuelve las anotaciones encontradas en la clase docblock

public function getMethodsAnnotations(): Collection[] | bool;

Devuelve las anotaciones encontradas en los métodos de docblocks

public function getPropertiesAnnotations(): Collection[] | bool;

Devuelve las anotaciones encontradas en las propiedades de docblocks

public function getReflectionData(): array;

Devuelve las definiciones intermedias del análisis en bruto usadas para construir la reflexión