bugadani/ event_source
一个易于创建事件源的库
1.0
2016-02-03 12:14 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-14 18:47:36 UTC
README
EventSource是一个简单的PHP 5.4+库,用于创建事件源对象。
用法
EventSource特性
当您希望将某个类作为事件源时,只需在类中使用EventSource特性并调用初始化方法即可。
class SomeClass {
use EventSource\EventSource;
public function __construct() {
//initialize defines the events that can be used
$this->initialize(['fooEvent', 'barEvent']);
}
public function someMethod() {
$this->raise('fooEvent', $someOptionalParameter);
}
}
您可以使用on($eventName, $callback)
方法定义事件处理器,当触发指定事件时会通知这些处理器。
$someObject = new SomeClass();
$someObject->on('fooEvent', function($someParameter = null) {
//do something
});
您也可以使用remove($eventName, $callback)
方法移除事件处理器。
事件类
另外,您可以选择手动创建Event对象,这些对象由EventSource用于管理事件处理器。Event类有以下方法:
on($callback)
- 注册一个新回调以处理事件remove($callback)
- 移除之前注册的回调raise(optional $parameter)
- 触发事件
使用Event类的一个缺点是,raise()
是一个公共方法,因此任何外部代码都可能触发事件。
安装
使用Composer
"require": {
"bugadani/event_source": "1.*"
}