A smart PHP event dispatching library that does not require your listeners to be aware of your subjects.
This library uses PHP 5.4+.
It is recommended that you install the Event library through composer. To do so, add the following lines to your composer.json file.
{
"require": {
"sinergi/event": "dev-master"
}
}useSinergi\Event\ListenerInterface;
class MyListener implements ListenerInterface
{
publicfunctiononUpdate(Subject$subject)
{
// do something
}
}class Subject
{
public$dispatcher;
publicfunctionupdate()
{
$this->dispatcher->trigger($this, 'update');
}
}useSinergi\Event\Dispatcher;
$dispatcher = newDispatcher();
$dispatcher->add(newMyListener());$subject = newSubject();
$subject->dispatcher = $dispatcher;
$subject->update();