bayfrontmedia/php-http-request

轻松处理传入HTTP请求的数据。

v3.1.0 2024-09-10 01:13 UTC

This package is auto-updated.

Last update: 2024-09-10 01:14:20 UTC


README

轻松处理传入HTTP请求的数据。

许可协议

本项目为开源项目,遵循MIT许可协议

作者

Bayfront Media

要求

  • PHP ^8.0

安装

composer require bayfrontmedia/php-http-request

使用

请求方法

数据类型

特定值

validateMethod

描述

返回有效的请求方法,如果失败则回退到 GET

有效的请求方法包括

  • CONNECT
  • DELETE
  • GET
  • HEAD
  • OPTIONS
  • PATCH
  • POST
  • PUT
  • TRACE

参数

  • $method (string)

返回

  • (string)

示例

use Bayfront\HttpRequest\Request;

echo Request::validateMethod('GET');

getMethod

描述

返回当前请求方法。

参数

  • None

返回

  • (string)

示例

use Bayfront\HttpRequest\Request;

echo Request::getMethod();

isConnect

描述

当前请求方法是 CONNECT 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isConnect()) {
    // Do something
}

isDelete

描述

当前请求方法是 DELETE 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isDelete()) {
    // Do something
}

isGet

描述

当前请求方法是 GET 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isGet()) {
    // Do something
}

isHead

描述

当前请求方法是 HEAD 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isHead()) {
    // Do something
}

isOptions

描述

当前请求方法是 OPTIONS 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isOptions()) {
    // Do something
}

isPatch

描述

当前请求方法是 PATCH 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isPatch()) {
    // Do something
}

isPost

描述

当前请求方法是 POST 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isPost()) {
    // Do something
}

isPut

描述

当前请求方法是 PUT 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isPut()) {
    // Do something
}

isTrace

描述

当前请求方法是 TRACE 吗。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isTrace()) {
    // Do something
}

getFile

描述

返回单个 $_FILES 数组键的值,使用点符号表示法,或整个数组,可选的默认值。

参数

  • $key = NULL (string|null)
  • $default = NULL (mixed): 如果数组键不存在,则返回默认值

返回

  • (mixed)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getFile('profile_photo'));

hasFile

描述

检查 $_FILES 数组键是否存在,使用点符号表示法。

参数

  • $key (string)

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasFile('profile_photo')) {
    // Do something
}

getQuery

描述

返回单个 $_GET 数组键的值,使用点符号表示法,或整个数组,可选的默认值。

参数

  • $key = NULL (string|null)
  • $default = NULL (mixed): 如果数组键不存在,则返回默认值

返回

  • (mixed)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getQuery());

hasQuery

描述

检查 $_GET 数组键是否存在,使用点符号表示法。

参数

  • $key (string)

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasQuery('page')) {
    // Do something
}

getPost

描述

返回单个 $_POST 数组键的值,使用点符号表示法,或整个数组,可选的默认值。

参数

  • $key = NULL (string|null)
  • $default = NULL (mixed): 如果数组键不存在,则返回默认值

返回

  • (mixed)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getPost());

hasPost

描述

检查 $_POST 数组键是否存在,使用点符号表示法。

参数

  • $key (string)

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasPost('username')) {
    // Do something
}

getServer

描述

返回单个 $_SERVER 数组键的值,使用点符号表示法,或整个数组,可选的默认值。

参数

  • $key = NULL (string|null)
  • $default = NULL (mixed): 如果数组键不存在,则返回默认值

返回

  • (mixed)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getServer());

hasServer

描述

检查 $_SERVER 数组键是否存在,使用点符号表示法。

参数

  • $key (string)

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasServer('SERVER_NAME')) {
    // Do something
}

getCookie

描述

返回单个 $_COOKIE 数组键的值,使用点符号表示法,或整个数组,可选的默认值。

参数

  • $key = NULL (string|null)
  • $default = NULL (mixed): 如果数组键不存在,则返回默认值

返回

  • (mixed)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getCookie());

hasCookie

描述

检查 $_COOKIE 数组键是否存在,使用点符号表示法。

参数

  • $key (string)

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasCookie('cart_id')) {
    // Do something
}

getHeader

描述

返回单个头数组键的值,使用点符号表示法,或整个数组,可选的默认值。

参数

  • $key = NULL (string|null)
  • $default = NULL (mixed): 如果数组键不存在,则返回默认值

返回

  • (mixed)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getHeader());

hasHeader

描述

检查头数组键是否存在,使用点符号表示法。

参数

  • $key (string)

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasHeader('Content-Type')) {
    // Do something
}

getBody

描述

返回请求的内容主体。

参数

  • None

返回

  • (string)

示例

use Bayfront\HttpRequest\Request;

print_r(Request::getBody());

hasBody

描述

检查请求的内容主体是否存在。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::hasBody()) {
    // Do something
}

getUserAgent

描述

返回客户端的用户代理。

参数

  • None

返回

  • (mixed): string|null

示例

use Bayfront\HttpRequest\Request;

echo Request::getUserAgent();

getReferer

描述

返回客户端的引用URL。

参数

  • None

返回

  • (mixed): string|null

示例

use Bayfront\HttpRequest\Request;

echo Request::getReferer();

getIp

描述

返回客户端的最可能的IP地址,可选的默认值。

参数

  • $default = ''(字符串):如果没有检测到IP地址,将返回默认IP地址

返回

  • (string)

示例

use Bayfront\HttpRequest\Request;

echo Request::getIp();

isCli

描述

请求是否来自命令行。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isCli()) {
    // Do something
}

isJson

描述

此请求的Content-Type头是否为JSON。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isJson()) {
    // Do something
}

wantsJson

描述

此请求的Accept头是否期望JSON。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::wantsJson()) {
    // Do something
}

isHttps

描述

连接是否为HTTPS。

参数

  • None

返回

  • (bool)

示例

use Bayfront\HttpRequest\Request;

if (Request::isHttps()) {
    // Do something
}

getRequest

描述

返回包含客户端请求详细信息的数组,或请求特定部分的字符串。

参数

  • $part = ''(字符串):要返回请求的哪一部分。留空将返回整个数组。

有效的$part值包括PART_*常量中的任何一个

  • Requst::PART_METHOD
  • Request::PART_PROTOCOL
  • Request::PART_HOST
  • Request::PART_PATH
  • Request::PART_QUERY
  • Request::PART_QUERY_STRING
  • Request::PART_URL
  • Request::PART_FULL_URL

返回

  • (混合类型):数组|string

示例

use Bayfront\HttpRequest\Request;

echo Request::getRequest(Request::PART_URL);

getUrl

描述

返回当前URL。

参数

  • $include_query = false(布尔值):如果存在,包括查询字符串

返回

  • (string)

示例

use Bayfront\HttpRequest\Request;

echo Request::getUrl();