sinergi/event

PHP 事件分发库

0.3.0 2014-06-03 02:16 UTC

This package is not auto-updated.

Last update: 2024-09-10 07:40:08 UTC


README

Build Status

一个智能的PHP事件分发库,不需要你的监听器知道你的主题。

要求

此库使用PHP 5.4以上版本。

安装

建议您通过composer安装Event库 (请访问Composer官方网站)。为此,请将以下行添加到您的 composer.json 文件中。

{
    "require": {
       "sinergi/event": "dev-master"
    }
}

用法

监听器示例

use Sinergi\Event\ListenerInterface;

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

主题示例

class Subject
{
    public $dispatcher;

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

向分发器添加监听器

use Sinergi\Event\Dispatcher;

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

将所有内容绑定在一起

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