fwk/events

为快乐开发者提供的轻量级事件分发器

v2.0.0 2016-06-15 20:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:26:13 UTC


README

Scrutinizer Code Quality Build Status Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License

PHP 5.4+ 的事件分发器

安装

通过Composer

{
    "require": {
        "fwk/events": "dev-master",
    }
}

如果你不使用Composer,你仍然可以下载此存储库并将其添加到你的include_pathPSR-0兼容

文档

添加监听器

use Fwk\Events\Dispatcher,
    Fwk\Events\Event;

$evd = new Dispatcher();

// closures listeners
$evd->on("eventName", function(Fwk\Events\Event $event) {
    // do some stuff
});

// Class methods starting by "on[EventCamelCasedName]" can also be added as 
// listeners
class MyListener 
{
    public function onEventName(Fwk\Events\Event $event) {
        // do some stuff
    }
}

$evd->addListener(new MyListener());

移除监听器

/* ... */

// this removes all listeners for a given event
$evd->removeAllListeners("eventName");

// this removes a listener (callable) for a given event
$evd->removeListener("eventName", array($listener, "onListenerMethod"));

触发事件

/* ... */

$event = new Fwk\Events\Event("eventName", array(
    "someData" => "someValue"
));
$event->extraData = "extraValue";

// dispatch event
$evd->notify($event);

贡献/社区

法律

Fwk遵循3条款BSD许可协议。请阅读LICENSE以获取详细信息。