bazo/nette-events-extension

为 Nette 框架提供的真正简单的事件分发器

dev-master 2017-02-06 20:12 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:16:18 UTC


README

为 Nette 框架提供的真正简单的事件分发器。

使用方法

将此内容添加到您的 config.neon 配置文件中

extensions:
	- Bazo\Events\DI\EventsExtension

services:
	- {class: Listener1, tags: [subscriber]}
	- {class: Listener2, tags: [subscriber]}
	...

订阅者必须实现 Bazo\Events\Subscriber 接口中的 getSubscribedEvents 静态方法

class Listener1 implements Bazo\Events\Subscriber
{
	public static function getSubscribedEvents()
	{
		return [
			'event1' => [
				'callback1',
				'callback2',
			],
			'event2' => [
				'callback3',
				'callback4',
			]
		];
	}

	public function callback1($arg1, $arg2, ...) {...}
}

回调是函数名称。

然后您可以这样分发事件

$args = [
	$arg1,
	$arg2
];
$dispatcher->dispatchEvent('event1', $args);