Listen to events with plain PHP callable minus any configuration

1.2.0 2019-10-20 11:32 UTC

This package is auto-updated.

Last update: 2024-05-20 21:24:25 UTC


Allow to register event listeners with a plain PHP callable - minus the config.


$ composer require trash-panda/m2-callable-event-listeners
$ php bin/magento setup:upgrade


Grab an instance of \TrashPanda\CallableEventListeners\Model\Manager either via DI or from the object manager and pass an event name and a callable to the listen method.

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";

Now when the event some-event is dispatched from \Magento\Framework\Event\Manager your callable will be invoked along with any other listeners attached via config.

Use Cases

  • Scoping events to one particular code path - eg a command or a cron
  • Prototyping
  • Improved feedback from IDE - regarding classes and method existence