请求类
请求类是 HTTP 请求的面向对象表示。这旨在适用于传入请求,例如来自浏览器对应用程序的请求,以及传出请求,例如应用程序对第三方应用程序的请求所用的请求。
这个类提供了它们都需要的常见功能,但这两种情况都有自定义类来扩展请求类以添加特定功能。在实践中,你需要使用这些类。
有关更多使用详细信息,请参阅 IncomingRequest 类 和 CURLRequest 类 的文档。
类参考
- class CodeIgniter\HTTP\Request
- getIPAddress()
- 返回:
如果可以检测到,则为用户的 IP 地址。如果 IP 地址不是有效的 IP 地址,则返回
0.0.0.0
。- 返回类型:
string
返回当前用户的 IP 地址。如果 IP 地址无效,该方法将返回
0.0.0.0
:<?php echo $request->getIPAddress();
重要
该方法会考虑
Config\App::$proxyIPs
设置,并将 HTTP 头中报告的允许 IP 地址的客户端 IP 地址返回。
- isValidIP($ip[, $which = ''])
自 4.0.5 版本弃用: 请改用 验证。
重要
此方法已弃用。它将在未来版本中删除。
- 参数:
$ip (
string
) – IP 地址$which (
string
) – IP 协议(ipv4
或ipv6
)
- 返回:
如果地址有效则为 true,如果无效则为 false
- 返回类型:
bool
将 IP 地址作为输入,并根据它是否有效返回 true 或 false(布尔值)。
备注
上面的
$request->getIPAddress()
方法会自动验证 IP 地址。<?php if (! $request->isValidIP($ip)) { echo 'Not Valid'; } else { echo 'Valid'; }
可选的第二个字符串参数为“ipv4”或“ipv6”来指定 IP 格式。默认检查这两种格式。
- getMethod()
- 返回:
HTTP 请求方法
- 返回类型:
string
返回
$_SERVER['REQUEST_METHOD']
。<?php echo $request->getMethod(); // Outputs: POST
- setMethod($method)
自 4.0.5 版本弃用: 请改用
CodeIgniter\HTTP\Request::withMethod()
。- 参数:
$method (
string
) – 设置请求方法。在伪造请求时使用。
- 返回:
这个请求
- 返回类型:
- getServer([$index = null[, $filter = null[, $flags = null]]])
- 参数:
- 返回:
如果找到,则返回
$_SERVER
项目的值,如果没有找到,则为 null- 返回类型:
mixed
此方法与 IncomingRequest 类 中的
getPost()
、getGet()
和getCookie()
方法相同,只是它获取服务器数据($_SERVER
):<?php $request->getServer('some_data');
要返回多个
$_SERVER
值的数组,请传递所有所需键的数组。<?php $request->getServer(['SERVER_PROTOCOL', 'REQUEST_URI']);
- getEnv([$index = null[, $filter = null[, $flags = null]]])
自 4.4.4 版本弃用: 从一开始,这个方法就不起作用。请改用
env()
。- 参数:
- 返回:
如果找到,则返回
$_ENV
项目的值,如果没有找到,则为 null- 返回类型:
mixed
此方法与 IncomingRequest 类 中的
getPost()
、getGet()
和getCookie()
方法相同,只是它获取环境数据($_ENV
):<?php $request->getEnv('some_data');
要返回多个
$_ENV
值的数组,请传递所有所需键的数组。<?php $request->getEnv(['CI_ENVIRONMENT', 'S3_BUCKET']);
- setGlobal($method, $value)
- 参数:
$method (
string
) – 方法名称$value (
mixed
) – 要添加的数据
- 返回:
这个请求
- 返回类型:
允许手动设置 PHP 全局变量的值,如
$_GET
、$_POST
等。