liberty_code / event
v1.0.1
2022-01-02 22:45 UTC
Requires
- php: ~7 || ~8
- liberty_code/call: ^1.0.
- liberty_code/di: ^1.0.
- liberty_code/library: ^1.0.
Requires (Dev)
- liberty_code/register: ^1.0.
This package is auto-updated.
Last update: 2024-09-29 05:02:07 UTC
README
描述
该库包含事件组件,通过使用事件系统从指定的事件键或事件名运行可执行文件。
需求
- 脚本语言:PHP:版本 7 || 8
安装
有几种可能的方式
Composer
需求
需要安装 composer。更多信息: https://composer.php.ac.cn
命令:移动到项目根路径
cd "<project_root_path>"命令:安装
php composer.phar require liberty_code/event ["<version>"]注意
包含供应商
如果项目使用 composer,则必须包含供应商
require_once('<project_root_path>/vendor/autoload.php');配置
安装命令允许在 composer 文件 "
{ "require": { "liberty_code/event": "<version>" } }
包含
下载
- 下载以下存储库。
- 将其放在存储库根路径。
包含源代码
require_once('<repository_root_path>/include/Include.php');
使用
事件
事件系统允许从特定配置和指定的事件键或事件名获取可执行文件。
元素
事件
允许设计一个事件,该事件是一个包含唯一键和配置数组的项,可以从指定的字符串键或字符串名称获取可执行文件(回调函数)。
EventCollection
允许设计事件集合。使用事件列表,从指定的事件或字符串事件名称检索可执行文件。
EventFactory
允许设计事件工厂,从指定配置提供新的或指定的事件实例。
DiEventFactory
扩展事件工厂功能。从指定的 DI 提供者提供新的事件实例。
StandardEventFactory
扩展 DI 事件工厂功能。提供事件实例。
示例
// Get event factory
use liberty_code\event\event\factory\standard\model\StandardEventFactory;
$eventFactory = new StandardEventFactory($provider);
...
// Get new event from configuration
$event = $eventFactory->getObjEvent(array(...));
...
构建器
构建器允许使用事件向事件集合中添加事件。
元素
DefaultBuilder
使用源数据数组来填充事件集合。
示例
// Get event collection
use liberty_code\event\event\model\DefaultEventCollection;
$eventCollection = new DefaultEventCollection();
...
// Get event builder
use liberty_code\event\build\model\DefaultBuilder;
$eventBuilder = new DefaultBuilder($eventFactory);
...
// Hydrate event collection
$eventBuilder->setTabDataSrc(array(...));
$eventBuilder->hydrateEventCollection($eventCollection);
...
foreach($eventCollection->getTabKey() as $key) {
echo($eventCollection->getObjEvent($key)->getStrKey() .'<br />');
}
/**
* Show:
* Event key 1
* ...
* Event key N
*/
...
观察者
观察者允许使用事件集合运行可执行文件(回调函数)。
示例
use liberty_code\event\observer\model\DefaultObserver;
$observer = new DefaultObserver();
$observer->setEventCollection(...);
...
// Run executable, from specified string event name, if exists
var_dump($observer->dispatch(...));
...
调用
使用事件系统调用,以获取回调函数来执行特定的事件目标。
元素
DefaultCall
扩展调用功能。使用事件观察者获取可执行文件以执行特定目标。
EventCall
扩展默认事件调用功能。允许配置事件目标。
EventCallFactory
扩展调用工厂功能。提供事件调用实例。