phower / events
面向事件编程的PHP。
1.1.0
2017-04-12 16:49 UTC
Requires
- php: ^5.6 || ^7.0
- phower/container: ^1.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: ^2.8
- symfony/var-dumper: ^3.2
This package is auto-updated.
Last update: 2024-09-10 04:39:24 UTC
README
面向事件编程的PHP。
需求
Phower Events 需要
安装
使用 Composer 将 Phower Events 添加到任何PHP项目中
composer require phower/events
使用方法
此包提供了一种面向事件机制的实现,允许任何PHP应用程序通过派发事件并监听它们来实现各部分之间的通信。
PhowerEvents的实现需要一个 EventHandler 类和至少一个事件监听器,它必须是任何有效的 PHP 调用者
use Phower\Events\EventHandlerInterface; use Phower\Events\EventInterface; class MyEventListener { public onDummyEvent(EventInterface $event, EventHandlerInterface $handler) { print_r($event->getName()); print_r($handler->getListeners($event)); } }
请注意,任何监听器方法都应该始终期望两个参数
- 一个代表触发事件的
EventInterface实例;- 一个触发事件的
EventHandlerInterface实例。
在能够触发上述监听器之前,我们必须将其附加到处理器实例
use Phower\Events\EventHandler; $handler = new EventHandler(); $handler->addListener('dummy', 'MyEventListener::onDummyEvent'); // later at any point where the handler is available: $handler->trigger('dummy');
容器感知处理器
当 Container 是应用程序的一部分时,自动将容器传递给监听器可能很有用。
在这种情况下,我们可以切换到 ContainerAwareEventHandlerInterface 的实例,并使我们的监听器也成为 ContainerAwareInterface 的实例。
运行测试
测试可用在单独的命名空间中,并且可以在命令行中使用 PHPUnit 运行
vendor/bin/phpunit
编码规范
Phower 代码是在 PSR-2 编码风格标准下编写的。为了强制执行这一点,还提供了 CodeSniffer 工具,可以按以下方式运行
vendor/bin/phpcs
报告问题
如果您在此代码中发现问题,请在 https://github.com/phower/container/issues 上创建一个工单。
贡献者
开源是由贡献构成的。如果您想为Phower做出贡献,请按照以下步骤操作
- 将最新版本fork到您的个人仓库中。
- 编写您的更改或添加,并提交它们。
- 遵循PSR-2编码风格标准。
- 确保您的更改有完整的单元测试覆盖。
- 前往Github Pull Requests https://github.com/phower/container/pulls 并创建一个新的请求。
谢谢!
更改和版本控制
有关此代码的所有相关更改都已记录在单独的 日志文件 中。
版本号遵循 语义版本化 的建议。
许可
Phower 代码是在 The MIT License 下维护的。