motokraft / event
事件调度器
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-09-24 01:46:12 UTC
README
安装
此库通过 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 许可协议。