bayfrontmedia / php-http-request
轻松处理传入HTTP请求的数据。
Requires
- php: ^8.0
- bayfrontmedia/php-array-helpers: ^2.0
README
轻松处理传入HTTP请求的数据。
许可协议
本项目为开源项目,遵循MIT许可协议。
作者
要求
- PHP
^8.0
安装
composer require bayfrontmedia/php-http-request
使用
请求方法
数据类型
- getFile
- hasFile
- getQuery
- hasQuery
- getPost
- hasPost
- getServer
- hasServer
- getCookie
- hasCookie
- getHeader
- hasHeader
- getBody
- hasBody
特定值
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();