trash-panda/m2-callable-event-listeners

无需配置即可监听事件,使用纯PHP可调用对象

1.2.0 2019-10-20 11:32 UTC

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对类和方法存在性的反馈得到改善