trash-panda / m2-callable-event-listeners
无需配置即可监听事件,使用纯PHP可调用对象
1.2.0
2019-10-20 11:32 UTC
Requires
- php: >=7.0 <7.3
Requires (Dev)
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^2.8
This package is auto-updated.
Last update: 2024-09-20 21:57:47 UTC
README
允许使用纯PHP可调用对象注册事件监听器 - 无需配置。
安装
$ composer require trash-panda/m2-callable-event-listeners $ php bin/magento setup:upgrade
用法
通过DI或对象管理器获取 \TrashPanda\CallableEventListeners\Model\Manager
的实例,然后将事件名称和可调用对象传递给 listen
方法。
use TrashPanda\CallableEventListeners\Model\Manager; use Magento\Framework\Event\Observer; class MyCommand { public function ___construct(Manager $manager) { $manager->listen('some-event', function (Observer $observer) { echo "Hey!\n\n"; var_dump($observer->getData()); }); } }
现在,当从 \Magento\Framework\Event\Manager
分发事件 some-event
时,您的可调用对象将与通过配置附加的任何其他监听器一起被调用。
使用场景
- 将事件范围限定在特定的代码路径 - 例如命令或定时任务
- 原型设计
- IDE对类和方法存在性的反馈得到改善