PHP code example of stougeiro / event

1. Go to this page and download the library: Download stougeiro/event library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

stougeiro / event example snippets


use STDW\Event\EventManager;

$em = new EventManager();

$em->listen('order.created', new SendEmailListener());
$em->dispatch('order.created', ['id' => 42]);

events()->listen('order.created', new SendEmailListener());
event('order.created', ['id' => 42]);

// Register
events()->listen('user.*', new AuditListener());

// Or load from file
events()->load(__DIR__ . '/events.php');

// Dispatch
event('user.created', ['action' => 'created']);

events()->listen('user.*', new AuditListener());

event('user.created', ['action' => 'created']);
event('user.deleted', ['action' => 'deleted']);
// Both trigger the same listener

$logger = new LoggingListener();

events()->listen('post.created', $logger);
events()->listen('post.*', $logger);

event('post.created', ['title' => 'Hello']);
// LoggingListener executes ONCE, not twice

// events.php
return [
    '*'               => [GlobalAuditListener::class],
    'order.created'   => [SendEmailListener::class],
    'order.paid'      => [UpdateInventoryListener::class],
    'order.*'         => [OrderListener::class],
];

// bootstrap
events()->load(__DIR__ . '/events.php');
event('order.created', ['id' => 42]);
// GlobalAuditListener: ✅ (via *)
// SendEmailListener: ✅ (exact)
// OrderListener: ✅ (via order.*)

events()->listen('*', new AuditListener());

event('post.created', ['id' => 1]);
event('user.deleted', ['id' => 2]);
// AuditListener triggered for both