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 许可 许可。