The League of Extraordinary Packages

Our Packages:

Presented by The League of Extraordinary Packages

Versions:

Getting Started

Events

Listeners

Generator

Class Based Listeners

Class based listeners allow for a nicer and clean listener management. The Emitter accepts listeners which implement the ListenerInterface. This interface require two methods to be defined; isListener and handle. Because many listeners will have the same implementation of isListener the AbstractListener implements this for you.

Implementing the ListenerInterface

<?php

use League\Event\ListenerInterface;
use League\Event\EventInterface;

class DomainListener implements ListenerInterface
{
    public function isListener($listener)
    {
        return $listener === $this;
    }

    public function handle(EventInterface $event)
    {
        // Handle the event.
    }
}

$emitter->addListener('event.name', new DomainListener);

Extending the AbstractListener

use League\Event\AbstractListener;
use League\Event\EventInterface;

class DomainListener extends AbstractListener
{
    public function handle(EventInterface $event)
    {
        // Handle the event.
    }
}