mleko / event
v0.4
2017-03-20 18:44 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ^5.5
README
这是一个小巧简单的事件总线库。
Narrator 允许组件之间进行通信,而无需组件相互显式依赖。
安装
使用 Composer
$ composer require narrator/narrator
基本用法
// Simple event object class UserRegistered { private $userId; private $userName; // ...event data, constructor, getters } // Sample listener class UserRegisteredListener implements Listener { public function handle($event, Meta $meta){ // send email, update model, etc } } // create EventBus which will be responsible for managing events and listeners $eventBus = new BasicEventBus(new NameBasedResolver(new ClassNameExtractor())); // create listener instance $listener = new UserRegisteredListener(...); // and register it in bus $eventBus->subscribe(UserRegistered::class, $listener); // create event $event = new UserRegistered(...); // and `emit` it to listeners $eventBus->emit($event);
测试
要运行单元测试,请使用 PHPUnit
$ ./vendor/bin/phpunit