motokraft / event
Event dispatcher
v1.0.0
2023-02-12 20:07 UTC
Requires
- php: >=8.0
- motokraft/object: ^1.0
This package is not auto-updated.
Last update: 2024-06-18 00:30:44 UTC
README
Event dispatcher
Установка
Библиотека устанавливается с помощью пакетного менеджера 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.