Secciones

Class Phalcon\Events\Event

Código fuente en GitHub

Namespace Phalcon\Events   Implements EventInterface

Phalcon\Events\Event

Esta clase ofrece información contextual de un evento disparado en el EventsManager

Phalcon\Events\Event;

$event = new Event("db:afterQuery", $this, ["data" => "mydata"], true);
if ($event->isCancelable()) {
    $event->stop();
}

Propiedades

/**
 * Is event cancelable?
 *
 * @var bool
 */
protected cancelable;

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

/**
 * Event source
 *
 * @var object
 */
protected source;

/**
 * Is event propagation stopped?
 *
 * @var bool
 */
protected stopped = false;

/**
 * Event type
 *
 * @var string
 */
protected type;

Métodos

public function __construct( string $type, object $source, mixed $data = null, bool $cancelable = bool );

Constructor Phalcon\Events\Event

public function getData(): mixed
public function getSource(): object
public function getType(): string
public function isCancelable(): bool;

Comprueba si el evento es cancelable.

if ($event->isCancelable()) {
    $event->stop();
}
public function isStopped(): bool;

Comprueba si el evento esta parado actualmente.

public function setData( mixed $data = null ): EventInterface;

Establece datos del evento.

public function setType( string $type ): EventInterface;

Establece el tipo de evento.

public function stop(): EventInterface;

Detiene el evento evitando la propagación.

if ($event->isCancelable()) {
    $event->stop();
}

Interface Phalcon\Events\EventInterface

Código fuente en GitHub

Namespace Phalcon\Events

Phalcon\Events\EventInterface

Interfaz para la clase Phalcon\Events\Event

Métodos

public function getData(): mixed;

Obtiene los datos del evento

public function getType(): mixed;

Obtiene el tipo de evento

public function isCancelable(): bool;

Comprueba si el evento es cancelable

public function isStopped(): bool;

Comprueba si el evento está parado actualmente

public function setData( mixed $data = null ): EventInterface;

Establece los datos del evento

public function setType( string $type ): EventInterface;

Establece el tipo de evento

public function stop(): EventInterface;

Detiene el evento evitando la propagación

Interface Phalcon\Events\EventsAwareInterface

Código fuente en GitHub

Namespace Phalcon\Events

Phalcon\Events\EventsAwareInterface

Este interfaz debe ser para aquellas clases que acepten un EventsManager y despachan eventos

Métodos

public function getEventsManager(): ManagerInterface | null;

Devuelve el administrador de eventos interno

public function setEventsManager( ManagerInterface $eventsManager ): void;

Establece el administrador de eventos

Class Phalcon\Events\Exception

Código fuente en GitHub

Namespace Phalcon\Events   Extends \Phalcon\Exception

Phalcon\Events\Exception

Las excepciones lanzadas en Phalcon\Events usarán esta clase

Class Phalcon\Events\Manager

Código fuente en GitHub

Namespace Phalcon\Events   Uses Closure, SplPriorityQueue   Implements ManagerInterface

Phalcon\Events\Manager

El Gestor de Eventos de Phalcon, ofrece una forma fácil de interceptar y manipular, si es necesario, el flujo normal de operación. Con el EventsManager, el desarrollador puede crear anclajes o plugins que ofrecerán monitorización de datos, manipulación, ejecución condicional y mucho más.

Constantes

const DEFAULT_PRIORITY = 100;

Propiedades

/**
 * @var bool
 */
protected collect = false;

/**
 * @var bool
 */
protected enablePriorities = false;

//
protected events;

//
protected responses;

Métodos

public function arePrioritiesEnabled(): bool;

Devuelve si las prioridades están habilitadas

public function attach( string $eventType, mixed $handler, int $priority = static-constant-access ): void;

Adjunta un oyente al gestor de eventos

public function collectResponses( bool $collect ): void;

Le dice al gestor de eventos si necesita recopilar todas las respuestas devueltas por cada oyente registrado en un único disparo

public function detach( string $eventType, mixed $handler ): void;

Separa el oyente del gestor de eventos

public function detachAll( string $type = null ): void;

Elimina todos los eventos del EventsManager

public function enablePriorities( bool $enablePriorities ): void;

Establece si las prioridades están habilitadas en el EventsManager.

Una cola de prioridad de eventos es una estructura de datos similar a las colas regulares de eventos: también podemos añadir y sacar elementos de ella. La diferencia está en que cada elemento de una cola de prioridad está asociado a un valor llamado prioridad. Este valor se usa para ordenar los elementos de una cola: elementos con una prioridad mayor se sacan antes que los elementos con una prioridad menor.

public function fire( string $eventType, object $source, mixed $data = null, bool $cancelable = bool );

Dispara un evento en el gestor de eventos que causa que los oyentes activos sean notificados al respecto

$eventsManager->fire("db", $connection);
final public function fireQueue( SplPriorityQueue $queue, EventInterface $event );

Gestor interno para llamar a una cola de eventos

public function getListeners( string $type ): array;

Devuelve todos los oyentes adjuntos de cierto tipo

public function getResponses(): array;

Devuelve todas las respuestas devueltas por cada manejador ejecutado por el último ‘disparo’ ejecutado

public function hasListeners( string $type ): bool;

Comprueba si cierto tipo de evento tiene oyentes

public function isCollecting(): bool;

Comprueba si el gestor de eventos está recopilando todas las respuestas devueltas por cada oyente registrado en un único disparo

public function isValidHandler( mixed $handler ): bool;

Interface Phalcon\Events\ManagerInterface

Código fuente en GitHub

Namespace Phalcon\Events

Phalcon\Events\ManagerInterface

Interfaz para gestores de Phalcon\Events.

Métodos

public function attach( string $eventType, mixed $handler ): void;

Adjunta un oyente al gestor de eventos

public function detach( string $eventType, mixed $handler ): void;

Separa el oyente del gestor de eventos

public function detachAll( string $type = null ): void;

Elimina todos los eventos del EventsManager

public function fire( string $eventType, object $source, mixed $data = null, bool $cancelable = bool );

Dispara un evento en el gestor de eventos que causa que los oyentes activos sean notificados al respecto

public function getListeners( string $type ): array;

Devuelve todos los oyentes adjuntos de cierto tipo

public function hasListeners( string $type ): bool;

Comprueba si cierto tipo de evento tiene oyentes