Библиотека устанавливается с помощью пакетного менеджера Composer
Добавьте библиотеку в файл composer.json
вашего проекта:
{
"require": {
"motokraft/event": "^1.0"
}
}
или выполните команду в терминале
$ php composer require motokraft/event
Включите автозагрузчик Composer в код проекта:
require __DIR__ . '/vendor/autoload.php';
use \Motokraft\Event\EventHelper;
use \Motokraft\Event\EventMethod;
use \Motokraft\Event\ObjectEvent;
use \Motokraft\Event\EventInterface;
use \Motokraft\Event\EventTypeInterface;
use \Motokraft\Event\Traits\EventTrait;
use \Motokraft\Object\BaseObject;
class UserObject extends BaseObject implements EventTypeInterface
{
use EventTrait;
private int $id = 0;
private string $name = 'admin';
}
EventHelper::addTypeClass('user', UserObject::class);
class DemoEvent implements EventInterface
{
function onPrepareUserObject(ObjectEvent $event) : void
{
$target = $event->getTarget();
$target->set('login', 'SuperUser');
}
}
UserObject::addEventMethod('prepare', new EventMethod(
DemoEvent::class, 'onPrepareUserObject', 1
));
$user = new UserObject;
$event = $user->getObjectEvent('prepare');
$user->dispatchEvent($event);
print_R($user);
Эта библиотека находится под лицензией MIT License.