mahadazad / event-manager
此包的最新版本(dev-master)没有可用的许可证信息。
dev-master
2014-12-10 16:03 UTC
Requires
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-24 03:19:50 UTC
README
这是一个易于使用的事件管理库。您可以使用它来创建基于事件的应用程序。
安装
使用composer安装库,在您的composer.json中
{ "require": { "mahadazad/event-manager": "dev-master" } }
或者运行
php composer.phar require "mahadazad/event-manager":"dev-master"
如何使用?
简单地实例化EventManager对象
use EventManager\EventManager; $em = new EventManager(); // $em->attach(event_name, callable, priority); $handler1 = $em->attach('say.hello', function () { return 'hello'; }, 10); $handler2 = $em->attach('say.hello', function () { return 'hello!!!'; }, 200); $handler3 = $em->attach('say.hello', function () { return 'heeellloooo'; }, 300); // remove an existing handler $em->detach($handler3); // $em->trigger(eventname); returns \EventManager\Response\ResponseCollection $response = $em->trigger('say.hello'); /* print_r($response->toArray()); outputs: array( 0 => hello!!! 1 => hello ) can be traversed: foreach ($response as $r) { echo $r->toResult(); } you can get response of particular handler: $hander1Results = $response->getCommandResult($handler2); // returns \EventManager\Response\ResponseCollection */