函数名称: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() 返回的将是空数组。