dev-master
9999999-devEvent Manager
MIT
The Requires
- php >=5.5.0
The Development Requires
by Alex Orlov
Wallogit.com
2017 © Pedro Peláez
Event Manager
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;
$manager = new EventManager;
//Priorities enable $manager->priority(true); //Response enable $manager->response(true); //Getting responses $manager->getResponses();//return array
$manager->on("db:connect", function($event){
echo "DB Connected";
if ($event->isCancelable() === true) {
$event->stop();
}
return "#1";
}, EventManager::NORMAL);
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)
listener parameters$event - object event
$soruce - object calling or null
$data - object calling data (array), (*3)
$manager->run("db:connect");
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)
//Local disable
$manager->allowedListeners("db:connect",false);
//Global disable
$manager->allowedListeners("db",false);
$manager->dettch("db");
//or
$manager->detach("db");
$manager->hasListeners("db"); //return bool
$manager->getListeners("db");//return array
Event Manager
MIT