maer/events

此包已被 弃用 并不再维护。未建议替代包。

处理事件的小型包

0.1.0 2015-10-17 23:04 UTC

This package is auto-updated.

Last update: 2022-02-01 12:52:06 UTC


README

需要事件?这里就是!没有模糊,没有过度复杂的实例化或臃肿的类。

安装

使用以下命令使用 Git 克隆或 composer 下载包

composer require maer/events 0.*

使用方法

包含 composer 的自动加载器或手动包含 src/ 文件夹中的文件。 (从 EventInterface.php 文件开始)

创建一个新实例

$event = new Maer\Events\Event();

添加监听器

$event->addListener('start_something', 'some-id', function($name) {
    echo "Coolest ever: {$name}";
});

触发/发出事件

$response = $event->emit('start_something', ['Chuck Norris']);

// Echoes: Coolest ever: Chuck Norris

移除监听器

$event->removeListener('start_something', 'some-id');

外观/工厂

如果您不想自己存储 Event 类的实例,可以使用组合的外观/工厂类。

将其用作工厂

这总是返回相同的实例

$event = Maer\Events\EventFacade::getInstance();

用作外观

这将使用与 getInstance() 返回相同的实例,因此您可以将它们结合起来

Maer\Events\EventFacade::addListener(...);

Maer\Events\EventFacade::removeListener(...);

$response = Maer\Events\EventFacade::emit(...);

//... and any other method available in the Event class

更多...

上面的内容是基本用法,但还有更多... 我将很快更新此指南。