Request 类
Request 类是 HTTP 请求的面向对象表示。该类既可用于处理传入请求(例如浏览器访问应用的请求),也可用于处理传出请求(例如从应用发往第三方应用的请求)。
此类提供了两者所需的通用功能,但在实际开发中,通常会使用继承自 Request 类的子类来调用特定功能。
关于更多使用细节,请参阅 IncomingRequest 类 和 CURLRequest 类 的文档。
类参考
- class CodeIgniter\HTTP\Request
- getIPAddress()
- 返回:
如果能检测到,则返回用户的 IP 地址;如果 IP 地址无效,则返回
0.0.0.0。- 返回类型:
string
返回当前用户的 IP 地址。如果 IP 地址无效,该方法将返回
0.0.0.0:<?php echo $request->getIPAddress();
重要
此方法会参考
Config\App::$proxyIPs设置,并针对允许的 IP 地址返回由 HTTP 标头报告的客户端 IP。
- isValidIP($ip[, $which = ''])
自 4.0.5 版本弃用: 请改用 Validation 类。
重要
此方法已废弃,将在未来版本中移除。
- 参数:
$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) -- 设置请求方法。用于模拟请求。
- 返回:
当前请求
- 返回类型:
- withMethod($method)
Added in version 4.0.5.
- 参数:
$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等。