中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

afterRequest 事件(即請求方法結束后執行事件)

使用場景及原理

該事件是在請求方法結束后執行。可以在該事件中做 trace,對請求進行追蹤監視以及獲取此次的響應內容。

使用方式說明

框架對 afterRequest 事件的實現在 3.4.x 及以后的版本 中做了新的改動,實現方式由原來舊版本在主服務創建事件(mainServerCreate 事件)中定義改變為在 initialize 事件 中使用 Di 方式注入。目前最新穩定版本框架(3.4.x),具體實現及使用方式 (在 EasySwooleEvent.php 中的 initialize 事件中注入) 如下:

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        // 實現 afterRequest 事件
        \EasySwoole\Component\Di::getInstance()->set(\EasySwoole\EasySwoole\SysConst::HTTP_GLOBAL_AFTER_REQUEST, function (\EasySwoole\Http\Request $request, \EasySwoole\Http\Response $response): void {

            // 示例:獲取此次請求響應的內容
            TrackerManager::getInstance()->getTracker()->endPoint('request');
            $responseMsg = $response->getBody()->__toString();
            Logger::getInstance()->console('響應內容:' . $responseMsg);
            // 響應狀態碼:
            // var_dump($response->getStatusCode());

            // tracker 結束,結束之后,能看到中途設置的參數,調用棧的運行情況
            TrackerManager::getInstance()->closeTracker();
        });

    }

    public static function mainServerCreate(EventRegister $register)
    {

    }
}

舊版本(3.4.x 之前版本)框架的 afterRequest 事件的實現如下所示:

<?php
namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;

class EasySwooleEvent implements Event
{

    public static function initialize()
    {
        // TODO: Implement initialize() method.
        date_default_timezone_set('Asia/Shanghai');
    }

    public static function mainServerCreate(EventRegister $register)
    {
        // TODO: Implement mainServerCreate() method.
    }

    public static function onRequest(Request $request, Response $response): bool
    {
        // TODO: Implement onRequest() method.
        return true;
    }

    // 注冊 afterRequest 事件回調
    public static function afterRequest(Request $request, Response $response): void
    {
        // TODO: Implement afterRequest() method.

        // 示例:獲取此次請求響應的內容
        TrackerManager::getInstance()->getTracker()->endPoint('request');
        $responseMsg = $response->getBody()->__toString();
        Logger::getInstance()->console('響應內容:' . $responseMsg);
        // 響應狀態碼:
        // var_dump($response->getStatusCode());

        // tracker 結束,結束之后,能看到中途設置的參數,調用棧的運行情況
        TrackerManager::getInstance()->closeTracker();
    }
}
主站蜘蛛池模板: 九色在线 | 精品国产乱码久久久久久88av | 日韩午夜 | 在线观看av网站 | 色狠狠一区二区三区香蕉 | 国产日韩一区二区在线 | 亚洲国产区| 欧美一区二区三区免费 | 亚洲青涩在线 | 深夜影院深a | 高清精品一区二区 | 国产精品美女久久久久久久久久久 | 国偷自产av一区二区三区 | 伊人久久国产 | 噜噜噜在线 | 欧美日韩亚洲高清 | 欧美精品一区自拍a毛片在线视频 | 国产精品久久久久久久久晋中 | 亚洲日日摸夜夜夜夜夜爽小说 | 亚洲精品一区在线观看 | 日韩av专区 | 极品粉嫩饱满一线天在线 | 欧美成人免费在线观看 | 欧美区 日韩区 | 久久久精品一区二区三区 | 黄色在线观看 | 欧美a级在线观看 | 在线色网 | 欧美日韩激情一区 | 色五月激情综合网 | 最好观看的2018中文 | 国产精品一二区 | 国产精品久久久久久久天堂 | 91精品综合久久久久久五月天 | av免费网站 | 国产精品自产拍在线观看桃花 | 亚洲一区二区三区免费 | 黄网免费看 | 亚洲精品麻豆 | 国产福利91精品一区二区三区 | 成人精品免费视频 |