查詢

EventHttpRequest::getOutputHeaders()函式—用法及示例

「 獲取當前 EventHttpRequest 物件的輸出標頭 」


函式名稱:EventHttpRequest::getOutputHeaders() 

適用版本:任意版本的 PHP (PHP 以及 PECL event >= 1.2.6) 

用法:該函式用於獲取當前 EventHttpRequest 物件的輸出標頭。輸出標頭包含響應的資訊,如響應碼、內容型別、日期等。

示例:

// 建立 EventHttpRequest 物件
$request = new EventHttpRequest(function () {});

// 設定響應頭資訊
$request->addOutputHeader("Content-Type", "application/json");
$request->addOutputHeader("Content-Length", "1024");
$request->addOutputHeader("Date", gmdate('D, d M Y H:i:s') . ' GMT');

// 獲取輸出標頭
$outputHeaders = $request->getOutputHeaders();

// 列印輸出標頭
foreach ($outputHeaders as $header => $value) {
    echo $header . ": " . $value . PHP_EOL;
}

輸出:

Content-Type: application/json
Content-Length: 1024
Date: Sat, 26 Jun 2021 10:30:00 GMT

注意事項:

  • EventHttpRequest::getOutputHeaders() 必須在 EventHttp::REQUEST_HEADERS 回撥函式中呼叫,否則將返回空陣列。
  • 輸出標頭是在傳送響應之前設定的,可以使用 EventHttpRequest::addOutputHeader() 方法進行新增。
  • 如果使用 EventHttpRequest::addOutputBuffer() 的話,新增的輸出緩衝區將在 EventHttpRequest::sendReply() 方法被呼叫時被髮送,而不是直接傳送輸出頭部資訊。因此,在 EventHttpRequest::sendReply() 方法被呼叫後,EventHttpRequest::getOutputHeaders() 返回的將是空陣列。
補充糾錯
熱門PHP函式
分享連結