Skip to content

Phalcon annotations

NOTE

All classes are prefixed with Phalcon

Annotations\Adapter\AbstractAdapter Abstract

Source on GitHub

  • Namespace

    • Phalcon\Annotations\Adapter
  • Uses

    • Phalcon\Annotations\Collection
    • Phalcon\Annotations\Exception
    • Phalcon\Annotations\Reader
    • Phalcon\Annotations\ReaderInterface
    • Phalcon\Annotations\Reflection
  • Extends

  • Implements

    • AdapterInterface

This is the base class for Phalcon\Annotations adapters

Properties

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

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

Methods

public function get( mixed $className ): Reflection;
Parses or retrieves all the annotations found in a class

public function getConstant( string $className, string $constantName ): Collection;
Returns the annotations found in a specific constant

public function getConstants( string $className ): array;
Returns the annotations found in all the class' constants

public function getMethod( string $className, string $methodName ): Collection;
Returns the annotations found in a specific method

public function getMethods( string $className ): array;
Returns the annotations found in all the class' methods

public function getProperties( string $className ): array;
Returns the annotations found in all the class' properties

public function getProperty( string $className, string $propertyName ): Collection;
Returns the annotations found in a specific property

public function getReader(): ReaderInterface;
Returns the annotation reader

public function setReader( ReaderInterface $reader );
Sets the annotations parser

Annotations\Adapter\AdapterInterface Interface

Source on GitHub

  • Namespace

    • Phalcon\Annotations\Adapter
  • Uses

    • Phalcon\Annotations\Collection
    • Phalcon\Annotations\ReaderInterface
    • Phalcon\Annotations\Reflection
  • Extends

  • Implements

This interface must be implemented by adapters in Phalcon\Annotations

Methods

public function get( string $className ): Reflection;
Parses or retrieves all the annotations found in a class

public function getConstant( string $className, string $constantName ): Collection;
Returns the annotations found in a specific constant

public function getConstants( string $className ): array;
Returns the annotations found in all the class' constants

public function getMethod( string $className, string $methodName ): Collection;
Returns the annotations found in a specific method

public function getMethods( string $className ): array;
Returns the annotations found in all the class' methods

public function getProperties( string $className ): array;
Returns the annotations found in all the class' methods

public function getProperty( string $className, string $propertyName ): Collection;
Returns the annotations found in a specific property

public function getReader(): ReaderInterface;
Returns the annotation reader

public function setReader( ReaderInterface $reader );
Sets the annotations parser

Annotations\Adapter\Apcu

Source on GitHub

  • Namespace

    • Phalcon\Annotations\Adapter
  • Uses

    • Phalcon\Annotations\Reflection
  • Extends

    AbstractAdapter

  • Implements

Stores the parsed annotations in APCu. This adapter is suitable for production

use Phalcon\Annotations\Adapter\Apcu;

$annotations = new Apcu();

Properties

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

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

Methods

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

public function read( string $key ): Reflection | bool;
Reads parsed annotations from APCu

public function write( string $key, Reflection $data ): bool;
Writes parsed annotations to APCu

Annotations\Adapter\Memory

Source on GitHub

  • Namespace

    • Phalcon\Annotations\Adapter
  • Uses

    • Phalcon\Annotations\Reflection
  • Extends

    AbstractAdapter

  • Implements

Stores the parsed annotations in memory. This adapter is the suitable development/testing

Properties

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

Methods

public function read( string $key ): Reflection | bool;
Reads parsed annotations from memory

public function write( string $key, Reflection $data ): void;
Writes parsed annotations to memory

Annotations\Adapter\Stream

Source on GitHub

  • Namespace

    • Phalcon\Annotations\Adapter
  • Uses

    • Phalcon\Annotations\Exception
    • Phalcon\Annotations\Reflection
    • RuntimeException
  • Extends

    AbstractAdapter

  • Implements

Stores the parsed annotations in files. This adapter is suitable for production

use Phalcon\Annotations\Adapter\Stream;

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

Properties

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

Methods

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

public function read( string $key ): Reflection | bool | int;
Reads parsed annotations from files

public function write( string $key, Reflection $data ): void;
Writes parsed annotations to files

Annotations\Annotation

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

  • Extends

  • Implements

Represents a single annotation in an annotations collection

Properties

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

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

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

Methods

public function __construct( array $reflectionData );
Phalcon\Annotations\Annotation constructor

public function getArgument( mixed $position ): mixed | null;
Returns an argument in a specific position

public function getArguments(): array;
Returns the expression arguments

public function getExprArguments(): array;
Returns the expression arguments without resolving

public function getExpression( array $expr ): mixed;
Resolves an annotation expression

public function getName(): null | string;
Returns the annotation's name

public function getNamedArgument( string $name ): mixed | null;
Returns a named argument

public function getNamedParameter( string $name ): mixed;
Returns a named parameter

public function hasArgument( mixed $position ): bool;
Returns an argument in a specific position

public function numberArguments(): int;
Returns the number of arguments that the annotation has

Annotations\AnnotationsFactory

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

    • Phalcon\Annotations\Adapter\AdapterInterface
    • Phalcon\Factory\AbstractFactory
    • Phalcon\Support\Helper\Arr\Get
  • Extends

    AbstractFactory

  • Implements

Factory to create annotations components

Methods

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

public function load( mixed $config ): mixed;

public function newInstance( string $name, array $options = [] ): AdapterInterface;
Create a new instance of the adapter

protected function getExceptionClass(): string;

protected function getServices(): array;
Returns the available adapters

Annotations\Collection

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

    • Countable
    • Iterator
  • Extends

  • Implements

    • Countable
    • Iterator

Represents a collection of annotations. This class allows to traverse a group of annotations easily

// 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");

Properties

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

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

Methods

public function __construct( array $reflectionData = [] );
Phalcon\Annotations\Collection constructor

public function count(): int;
Returns the number of annotations in the collection

public function current(): mixed;
Returns the current annotation in the iterator

public function get( string $name ): Annotation;
Returns the first annotation that match a name

public function getAll( string $name ): Annotation[];
Returns all the annotations that match a name

public function getAnnotations(): Annotation[];
Returns the internal annotations as an array

public function has( string $name ): bool;
Check if an annotation exists in a collection

public function key(): int;
Returns the current position/key in the iterator

public function next(): void;
Moves the internal iteration pointer to the next position

public function rewind(): void;
Rewinds the internal iterator

public function valid(): bool;
Check if the current annotation in the iterator is valid

Annotations\Exception

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

  • Extends

    \Exception

  • Implements

Class for exceptions thrown by Phalcon\Annotations

Annotations\Reader

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

    • ReflectionClass
  • Extends

  • Implements

    • ReaderInterface

Parses docblocks returning an array with the found annotations

Methods

public function parse( string $className ): array;
Reads annotations from the class docblocks, its methods and/or properties

public static function parseDocBlock( string $docBlock, mixed $file = null, mixed $line = null ): array;
Parses a raw doc block returning the annotations found

Annotations\ReaderInterface Interface

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

  • Extends

  • Implements

Parses docblocks returning an array with the found annotations

Methods

public function parse( string $className ): array;
Reads annotations from the class docblocks, its constants, properties and methods

public static function parseDocBlock( string $docBlock, mixed $file = null, mixed $line = null ): array;
Parses a raw docblock returning the annotations found

Annotations\Reflection

Source on GitHub

  • Namespace

    • Phalcon\Annotations
  • Uses

  • Extends

  • Implements

Allows to manipulate the annotations reflection in an OO manner

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();

Properties

/**
 * @var Collection|null
 */
protected $classAnnotations;

/**
 * @var array
 */
protected $constantAnnotations;

/**
 * @var array
 */
protected $propertyAnnotations;

/**
 * @var array
 */
protected $methodAnnotations;

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

Methods

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

public function getClassAnnotations(): Collection | null;
Returns the annotations found in the class docblock

public function getConstantsAnnotations(): Collection[];
Returns the annotations found in the constants' docblocks

public function getMethodsAnnotations(): Collection[];
Returns the annotations found in the methods' docblocks

public function getPropertiesAnnotations(): Collection[];
Returns the annotations found in the properties' docblocks

public function getReflectionData(): array;
Returns the raw parsing intermediate definitions used to construct the reflection