1. Go to this page and download the library: Download websupply/event-dispatcher 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/ */
websupply / event-dispatcher example snippets
use Psr\EventDispatcher\EventDispatcherInterface;
public function __construct(
protected readonly EventDispathcerInterface $eventDispathcer
) {}
public function method(string $argument): void
{
// what ever business logic goes before the dispatching
$this->eventDispatcher->dispatch(new ProductWasCreated($argument));
}
namespace Project;
use ValueObject;
final class ProductWasCreated
{
public function __construct(
public readonly ValueObject\ProductId $id,
public readonly ValueObject\ProductName $name
) {}
}
use WebSupply\EventDispatcher\Annotations\EventListener;
use ProductWasCreated;
use Psr\Log\LoggerInterface;
#[EventListener]
final class ProductWasCreatedListener
{
public function __construct(protected readonly LoggerInterface $logger)
{}
public function __invoke(ProductWasCreated $event)
{
$this->logger->info('Product was created', ['id' => (string) $event->id]);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.