Skip to content

请求头

每个 HTTP 请求都有请求头。这些是描述 HTTP 请求的元数据,但在请求的正文中是不可见的。Slim 的 PSR-7 Request 对象提供了多个方法来检查其请求头。

获取所有的请求头

你可以使用 PSR-7 Request 对象的 getHeaders() 方法将所有的 HTTP 请求头作为关联数组获取。返回的关联数组的键是请求头的名称,值是一个字符串值的数字数组,对应于其相应的请求头名称。

$headers = $request->getHeaders();
foreach ($headers as $name => $values) {
    echo $name . ": " . implode(", ", $values);
}

获取单个请求头

你可以使用 PSR-7 Request 对象的 getHeader($name) 方法获取单个请求头的值(们)。该方法返回给定请求头名称的值数组。请记住,一个单独的 HTTP 请求头可能有多个值!

$headerValueArray = $request->getHeader('Accept');

你还可以使用 PSR-7 Request 对象的 getHeaderLine($name) 方法获取给定请求头的所有值的逗号分隔字符串。与 getHeader($name) 方法不同,该方法返回一个逗号分隔的字符串。

$headerValueString = $request->getHeaderLine('Accept');

检测请求头

你可以使用 PSR-7 Request 对象的 hasHeader($name) 方法检查某个请求头是否存在。

if ($request->hasHeader('Accept')) {
    // Do something
}