Skip to content

PHP-Fox/event-dispatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Event Dispatcher

A simple event dispatcher in PHP.

Installation

To install this package you can use composer:

composer require foxphp/event-dispatcher

Usage

// Create a new dispatcher

$dispatcher = Dispatcher::make(
    listeners: [
        Path\To\Event::class => [
            Path\To\Listener::class,
        ]
    ]
);

$dispatcher = new Dispatcher(
    listeners: [],
    log: []
);

// Add event with listeners
$dispatcher->add(
    event: Path\To\Event::class,
    listeners: [
        Path\To\Listener::class,
    ]
);

// Append listeners onto an event listener array
$dispatcher->append(
    event: Path\To\Event::class,
    listeners: [
        Path\To\Another\Listener::class,
    ]
);

// Dispatch
$dispatcher->dispatch(
    event: new Path\To\Event(),
    debug: true,
);

// Get debug log items
$dispatcher->log(); // []