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
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
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
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