Skip to content

事件

在请求 API 过程中,可能会想监听一些事件,好同时处理一些其它任务。

SDK 使用 symfony/event-dispatcher 组件进行事件的相关操作。

在使用之前,需要先确保安装了 symfony/event-dispatcher 组件,如果没有,请安装

shell
composer require symfony/event-dispatcher

使用

TIP

使用事件系统前,确保已初始化 Artful。即调用了 Artful::config($config)

php
<?php

use Yansongda\Artful\Event;
use Yansongda\Artful\Event\HttpStart;

// 1. 新建一个监听器
class HttpStartListener
{
    public function sendEmail(HttpStart $event)
    {
        // 可以直接通过 $event 获取事件的额外数据,例如:
        //      支付传递的参数:$event->params

        // coding to send email...
    }
}

// 2. 添加监听器
Event::addListener(HttpStart::class, [new HttpStartListener(), 'sendEmail']);

// 3. 喝杯咖啡

事件

核心逻辑开始

  • 事件类:Yansongda\Artful\Event\ArtfulStart
  • 说明:此事件将在进入核心流程时进行抛出。此时 Artful 只进行了相关初始化操作,其它所有操作均未开始。
  • 额外数据:
    • $rocket (相关参数)
    • $plugins (所有使用的插件)
    • $params (传递的原始参数)

核心逻辑结束

  • 事件类:Yansongda\Artful\Event\ArtfulEnd
  • 说明:此事件将在所有参数处理完毕时抛出。
  • 额外数据:
    • $rocket (相关参数)

开始调用API

  • 事件类:Yansongda\Artful\Event\HttpStart
  • 说明:此事件将在请求 API 前抛出。
  • 额外数据:
    • $rocket (相关参数)

调用API结束

  • 事件类:Yansongda\Artful\Event\HttpEnd
  • 说明:此事件将在请求 API 完成之后抛出。
  • 额外数据:
    • $rocket (相关参数)

Released under the MIT License.