v1.0.1 2022-01-02 22:45 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:07 UTC


README

描述

该库包含事件组件,通过使用事件系统从指定的事件键或事件名运行可执行文件。

需求

  • 脚本语言:PHP:版本 7 || 8

安装

有几种可能的方式

Composer

  1. 需求

    需要安装 composer。更多信息: https://composer.php.ac.cn

  2. 命令:移动到项目根路径

     cd "<project_root_path>"
    
  3. 命令:安装

     php composer.phar require liberty_code/event ["<version>"]
    
  4. 注意

    • 包含供应商

      如果项目使用 composer,则必须包含供应商

        require_once('<project_root_path>/vendor/autoload.php');
      
    • 配置

      安装命令允许在 composer 文件 "

        {
            "require": {
                "liberty_code/event": "<version>"
            }
        }
      

包含

  1. 下载

    • 下载以下存储库。
    • 将其放在存储库根路径。
  2. 包含源代码

     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

    扩展调用工厂功能。提供事件调用实例。