2017 © Pedro Peláez
 

library events

Event Manager

image

elise/events

Event Manager

  • Saturday, December 5, 2015
  • by alexorlov
  • Repository
  • 2 Watchers
  • 0 Stars
  • 7 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Event

Installation

The package is available on Packagist. You can install it using Composer., (*1)

composer require elise/events dev-master
require_once("vendor/autoload.php");

use elise\events\Manager as EventManager;

Manual

Initial

$manager = new EventManager;

Option

//Priorities enable
$manager->priority(true);

//Response enable
$manager->response(true);


//Getting responses
$manager->getResponses();//return array

Listeners

Create listener closure

$manager->on("db:connect", function($event){
    echo "DB Connected";
    if ($event->isCancelable() === true) {
        $event->stop();
    }
    return "#1"; 
}, EventManager::NORMAL);

Create listener class

class DbEvent
{
    public function connect($event, $source, $data)
    {
        echo "DB Connected";
        if ($event->isCancelable() === true) {
            $event->stop();
        }
        return "#2";
    }
}
$manager->on("db",new Db);
$manager->on($eventType,$listener,$priority);
on parameters

$eventType - Event name $listener - Listener object or closure $priority - Priority runing event, (*2)

Priority variants
  • EventManager::LOW
  • EventManager::NORMAL
  • EventManager::HIGH
  • any integer
listener parameters

$event - object event $soruce - object calling or null $data - object calling data (array), (*3)

Event

Lazy

$manager->run("db:connect");

Full

class Db
{
    function connect()
    {
        $manager->run("db:connect", $this, array(), false);
    }
}
run parameters
$manager->run($eventType, $source, $data, $cancelabe);

$eventType - name running event $soruce - Calling class object or null $data - data setting event listener $cancelable - is canceling event, (*4)

Allowed

//Local disable
$manager->allowedListeners("db:connect",false);

//Global disable
$manager->allowedListeners("db",false);

Methods

Dettach

$manager->dettch("db");
//or
$manager->detach("db");

Has listeners

$manager->hasListeners("db"); //return bool

Get Listeners

$manager->getListeners("db");//return array

The Versions

05/12 2015

dev-master

9999999-dev

Event Manager

  Sources   Download

MIT

The Requires

  • php >=5.5.0

 

The Development Requires

by Alex Orlov