netherphp/ki

事件处理器

v1.0.1 2018-04-06 19:38 UTC

This package is auto-updated.

Last update: 2024-09-05 08:03:18 UTC


README

nether.io Code Climate Build Status Packagist Packagist

基本用法

一个事件系统处理器。将回调函数排队,以便在应用程序的其他部分需要时执行。可用于触发操作或过滤内容。默认情况下,事件是一次性使用的,但您也可以使它们持续多次使用。这不像React那样的真正异步操作 - 这些过滤器将会阻塞,因此它们适用于内联过滤。

Nether\Ki::Queue(string EventName, callable Callback, bool Persist default false);

Nether\Ki::Queue('my-first-event',function(){
	echo 'LOL EVENT LULZ';
	return;
});

这将首次调用它时触发事件。

Nether\Ki::Flow(string EventName, array Args default null);

Nether\Ki::Flow('my-first-event');

在第一次流程之后,该事件将从队列中删除,并且额外的流程将不会处理它,除非您重新排队。

设置过滤事件

要创建一个过滤器,您可能想要创建一个持久事件,这是PHP中按引用传递的少数有效用法之一。

Nether\Ki::Queue('app-hates-at-signs',function(&$input){
	if(is_string($input)) $input = str_replace('@','',$input);
},true);

然后当您想要过滤...

Nether\Ki::Flow('app-hates-at-signs',[&$text]);

并且这个过滤器将在整个应用程序运行期间继续工作。

安装

使用Composer。

"require": { "netherphp/ki":"~1.0.0" }