Skip to content

sinergi/event

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Event

Build Status

A smart PHP event dispatching library that does not require your listeners to be aware of your subjects.

Requirements

This library uses PHP 5.4+.

Installation

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

Usage

Listener example

use Sinergi\Event\ListenerInterface;

class MyListener implements ListenerInterface
{
    public function onUpdate(Subject $subject)
    {
        // do something
    }
}

Subject example

class Subject
{
    public $dispatcher;

    public function update()
    {
        $this->dispatcher->trigger($this, 'update');
    }
}

Add listener to dispatcher

use Sinergi\Event\Dispatcher;

$dispatcher = new Dispatcher();
$dispatcher->add(new MyListener());

Bind it all together

$subject = new Subject();
$subject->dispatcher = $dispatcher;
$subject->update();

About

PHP Library for event dispatching

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages