romeoz / rock-events
PHP Pub/Sub 的简单实现
0.11.0
2015-11-06 03:06 UTC
Requires
- php: >=5.4.0
- romeoz/rock-base: 0.12.*
Requires (Dev)
- phpunit/phpunit: ^4.7.0
This package is not auto-updated.
Last update: 2024-09-24 03:35:33 UTC
README
特性
- 处理器可以是闭包、实例和静态类
- 独立的模块/组件,用于 Rock 框架
安装
从命令行
composer require romeoz/rock-events
在你的 composer.json 文件中
{ "require": { "romeoz/rock-events": "*" } }
快速入门
use rock\events\Event; class Foo { public $str = 'Rock!'; } $object = new Foo(); $eventName = 'onAfter'; $handler = function (Event $event) { echo "Hello {$event->owner->str}"; }; Event::on($object, $eventName, $handler); Event::trigger($object, 'onAfter'); // output: Hello Rock!
文档
####on(string|object $class, string $name, callable $handler)
订阅事件。
设置处理器的示例
$handler = function (Event $event) { echo "Hello Rock!"; }; Event::on(new Foo, 'onAfter', $handler);
选项
function (Event $event) { ... }
[new Foo, 'method']
['Foo', 'static_method']
####trigger(string|object $class, string $name, Event $event = null)
发布事件。
Event::trigger(new Foo, 'onEvent'); // or Event::trigger('test\Foo', 'onEvent');
####off(string|object $class, string $name, callable $handler = null)
断开事件。
$handler = function (Event $event) { echo 'Hello Rock!' }; $instance = new Foo; Event::on($instance, 'onAfter', $handler); Event::off($instance, 'onAfter');
要求
- PHP 5.4+
许可证
Rock Events 是开源软件,受 MIT 许可证 授权。