sinergi/dispatch

此包已被废弃,不再维护。作者建议使用 sinergi/event 包。

PHP 事件分发库

0.3.0 2014-06-03 02:16 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:29:29 UTC


README

Build Status

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

要求

此库使用 PHP 5.4+。

安装

建议您通过 composer 安装 Event 库 。要这样做,请将以下行添加到您的 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();