YurunEvent——PHP事件、观察者模式类库

简介

宇润开源的PHP事件类,支持全局事件和类中事件,也就是专业的说是观察者模式。

Github:https://github.com/Yurunsoft/YurunEvent

码云:http://git.oschina.net/yurunsoft/yurunevent

composer安装

在你项目中的 composer.json 文件中加入下面的内容

"require": {
    "yurunsoft/yurun-event" : "dev-master"
}

代码实例

全局事件

// 监听事件
Event::on('test', function($e){
	var_dump('trigger test', $e);
	$e['value'] = 'yurun';
});

// 一次性事件
Event::once('test1', function($e){
	var_dump('trigger test', $e);
	$e['value'] = $e['message'];
});

// 触发事件
Event::trigger('test', array('message'=>'666', 'value'=>&$value));

类中事件

class Test
{
	use ClassEvent;

	private $value;

	public function setValue($value)
	{
		$this->value = $value;
		$this->trigger('changeValue', array('value'=>$value));
	}
}

$test = new Test;
// 绑定事件
$test->on('changeValue', function($e){
	echo 'changeValue1:', $e['value'], PHP_EOL;
});
// 一次性事件
$test->once('changeValue', function($e){
	echo 'changeValue2:', $e['value'], PHP_EOL;
});
$test->setValue(123);
$test->setValue(456);
  • 发表评论
当前用户:
  • 评论列表