exan / eventer
事件触发库
1.0.3
2023-05-10 16:59 UTC
Requires (Dev)
- phpmd/phpmd: ^2.13
- phpunit/phpunit: ^10.1
- squizlabs/php_codesniffer: ^3.7
- symfony/var-dumper: ^6.2
README
面向对象的 PHP 事件触发器
对于大多数项目,你可能应该使用 evenement/evenement
。在某些情况下,这可能会产生难以理解的代码,在这种情况下,这种方法可能更受欢迎。
安装
composer require exan/eventer
示例用法
class SomeEvent implements EventInterface { public function __construct($myFirstArg, $mySecondArg) { } public static function getEventName(): string { return 'Some Event'; } public function filter(): bool { return true; // return false to skip execution } public function execute(): void { // Your event handling code } }
$eventer = new Eventer(); $eventer->register(SomeClass::class); // Listen to events regularly $eventer->registerOnce(SomeClass::class); // Listen to a single event $eventer->before(SomeClass::class); // Listen to events regularly, executed before events registered with `register` $eventer->beforeOnce(SomeClass::class); // Listen to a single event, executed before events registered with `register` $eventer->emit('Some Event', ['my first arg', 'my second arg']);