ulmus/src/EventTrait.php
Dave Mc Nicoll 4d221859fc - Added Events to repository and entitytrait objects. Some more work to be done on this.
- Diverses bug fixes linked to join and relations
- Field date and datetime are now outputed using given locale.
2020-05-20 15:34:50 -04:00

25 lines
593 B
PHP

<?php
namespace Ulmus;
trait EventTrait
{
public array $eventList = [];
public function eventRegister(object $event) : void
{
$this->eventList[] = $event;
}
public function eventFromType(string $type) : array
{
return array_filter($this->eventList, fn($ev) => $ev instanceof $type);
}
public function eventExecute(string $type, ...$arguments) : void
{
foreach($this->eventFromType($type) as $event) {
call_user_func_array([ $event, 'execute'], $arguments);
}
}
}