bayfrontmedia/php-http-response

轻松发送HTTP响应。

v2.0.1 2023-02-03 17:49 UTC

This package is auto-updated.

Last update: 2024-08-30 01:43:54 UTC


README

轻松发送HTTP响应。

许可

本项目为开源软件,受MIT许可证的许可。

作者

Bayfront Media

需求

  • PHP ^8.0
  • JSON PHP 扩展

安装

composer require bayfrontmedia/php-http-response

使用

重置

描述

重置所有头部(包括状态码)和主体。

参数

返回

  • (self)

示例

$response->reset();

设置状态码

描述

设置响应中要发送的状态码。

参数

  • $status (int)

返回

  • (self)

抛出

  • Bayfront\HttpResponse\InvalidStatusCodeException

示例

use Bayfront\HttpResponse\InvalidStatusCodeException;
use Bayfront\HttpResponse\Response;

$response = new Response();

try {
    
    $response->setStatusCode(429);
    
} catch (InvalidStatusCodeException $e) {
    die($e->getMessage());
}

获取状态码

描述

返回要随响应发送的状态码和相关短语。

参数

返回

  • (array)

示例

print_r($response->getStatusCode());

移除头部

描述

设置要随响应移除的头部值。

参数

  • $headers (array)

返回

  • (self)

示例

$response->removeHeaders([
    'X-Powered-By'
]);

设置头部

描述

设置要随响应发送的头部值。

参数

  • $headers (array)

返回

  • (self)

示例

$response->setHeaders([
    'X-Rate-Limit-Limit' => 100,
    'X-Rate-Limit-Remaining' => 99
]);

获取头部

描述

返回要随响应发送的头部值数组。

参数

返回

  • (array)

示例

print_r($response->getHeaders());

设置主体

描述

设置要随响应发送的主体。

参数

  • $body (string)

返回

  • (self)

示例

$response->setBody('This is the response body.');

获取主体

描述

返回要随响应发送的主体。

参数

返回

  • (string)

示例

echo $response->getBody();

发送

描述

发送响应。

参数

返回

  • (void)

示例

$response->send();

发送JSON

描述

将Content-Type设置为application/json,并将给定的数组转换为JSON编码的主体。

参数

  • $array (array)

返回

  • (void)

示例

$response->sendJson([
    'results' => [
        'user_id' => 5,
        'username' => 'some_username'
    ],
    'status' => 'OK'
]);

重定向

描述

使用给定的状态码重定向到给定的URL。

参数

  • $url (string)
  • $status = 302 (int): 返回的HTTP状态码

返回

  • (void)

抛出

  • Bayfront\HttpResponse\InvalidStatusCodeException

示例

use Bayfront\HttpResponse\InvalidStatusCodeException;
use Bayfront\HttpResponse\Response;

$response = new Response();

try {

    $response->redirect('https://www.google.com', 301);

} catch (InvalidStatusCodeException $e) {
    die($e->getMessage());
}