当前位置: 首页 > 文档资料 > FuelPHP 中文文档 >

Input - 类別

优质
小牛编辑
136浏览
2023-12-01

Input 类别能让你存取 HTTP 参数、载入伺服器变数及使用者代理详情。

uri()

uri 方法侦测目前的 URI 以建立正确的字串。

静态
参数
回传字串 - 带有正斜线前缀的目前 URI
範例
// 範例 URL:http://localhost/controller/method
echo Input::uri(); // 回传 /controller/method

json($index = null, $default = null)

json 方法回传一个来自 json 请求主体,json_decoded(且净化过)的值。

静态
参数
参数预设描述
$index选择性在 json 请求主体中的键。多维阵列可藉由点(.)分隔阶层被存取
$default
null
当找不到阵列项目应该被回传什幺值?
回传阵列 - Format::from_json 结果阵列
範例
$value = \Input::json('key');

// 设定一个预设值当没有值存在:
$value = \Input::json('key', 'backup-value');

xml($index = null, $default = null)

xml 方法回传一个来自 XML 请求主体,XML 解码(且净化过)的值。

静态
参数
参数预设描述
$index选择性在 XML 请求主体中的键。多维阵列可藉由点(.)分隔阶层被存取
$default
null
当找不到阵列项目应该被回传什幺值?
回传阵列 - Format::from_json 结果阵列
範例
$value = \Input::xml('key');

// 设定一个预设值当没有值存在:
$value = \Input::xml('key', 'backup-value');

cookie($index = null, $default = null)

cookie 方法能让你读取 $_COOKIE 变数, 不带参数的呼叫以取回完整的 cookie 阵列。

静态
参数
参数预设描述
$index选择性在 $_COOKIE 阵列中的键,多维阵列可藉由点(.)分隔阶层被存取
$default
null
当找不到阵列项目应该被回传什幺值?
回传混合
範例
Input::cookie('foo', 'bar');

delete($index = null, $default = null)

delete 方法能让你读取来自 php://input 流的参数当藉由 DELETE 呼叫,不带参数的呼叫以取回完整的阵列。

静态
参数
参数预设描述
$index选择性在 php://input 流中的键。
$default选择性当找不到阵列项目应该被回传什幺值?
回传混合
範例
Input::delete('foo', 'bar');

put($index = null, $default = null)

put 方法能让你读取来自 php://input 流的参数当藉由 PUT 呼叫, 不带参数的呼叫以取回完整的阵列。

静态
参数
参数预设描述
$index选择性在 php://input 流中的键。
$default选择性当找不到阵列项目应该被回传什幺值?
回传混合
範例
Input::put('foo', 'bar');

patch($index = null, $default = null)

patch 方法能让你读取来自 php://input 流的参数当藉由 PATCH 呼叫, 不带参数的呼叫以取回完整的阵列。

静态
参数
参数预设描述
$index选择性在 php://input 流中的键。
$default选择性当找不到阵列项目应该被回传什幺值?
回传混合
範例
Input::patch('foo', 'bar');

get($index = null, $default = null)

get 方法能让你读取 $_GET 变数,不带参数的呼叫以取回完整的阵列。

静态
参数
参数预设描述
$index选择性在 $_GET 阵列中的键,多维阵列可藉由点(.)分隔阶层被存取
$default选择性当找不到阵列项目应该被回传什幺值?
回传混合
範例
Input::get('foo', 'bar');

// 你可以像这样到达多层次深度。
// 这将回传 $_GET['somevar']['foo']['bar']
Input::get('somevar.foo.bar');

post($index = null, $default = null)

post 方法能让你读取 $_POST 变数,不带参数的呼叫以取回完整的阵列。

静态
参数
参数预设描述
$index选择性在 $_POST 阵列中的键,多维阵列可藉由点(.)分隔阶层被存取
$default选择性当找不到阵列项目应该被回传什幺值?
回传混合
範例
Input::post('foo', 'bar');

// 你可以像这样到达多层次深度。
// 这将回传 $_POST['somevar']['foo']['bar']
Input::post('somevar.foo.bar');

is_ajax()

is_ajax 方法回传 true 如果控制器是藉由 AJAX 呼叫。

静态
参数
回传混合
範例
Input::is_ajax(); // false

method($default = 'GET')

method 方法回传用于呼叫控制器的 HTTP 方法。如果表头 X-HTTP-Method-Override 已经被发送,将回传替代的指定方法。

静态
参数
参数预设描述
$default
'GET'
预设 HTTP 方法。
回传字串
範例
Input::method(); // "GET"

protocol()

protocol 方法回传用于呼叫控制器的 HTTP 协定。

静态
参数
回传字串
範例
Input::protocol(); // "HTTP"

ip()

ip 方法回传使用者的公开 IP 位址,如果使用者在代理伺服器后操作,将回传该伺服器的 IP 位址。

静态
参数
回传字串
範例
echo Input::ip(); // 73.194.37.104(公开 IP 位址)

real_ip($default = '0.0.0.0', $exclude_reserved = false)

real_ip 方法回传使用者的「真实」IP 位址,如果代理伺服器被侦测到,它将尝试从代理添加到表头的讯息,去确认使用者的私有 IP 位址,如果此资讯不存在,公开 IP 位址将被回传。

静态
参数
参数预设描述
$default
'0.0.0.0'
当没有有效的 IP 位址被检测到时,要回传的值。
$exclude_reserved
false
如果为 true,排除私有和预留的 IP 範围,且只回传公开 IP 位址。
回传字串
範例
echo Input::real_ip(); // 10.76.12.199(在代理伺服器后的私有 IP)

当 $exclude_reserved 为 true,以下的範围将从结果被排除:

IPv4:
10.0.0.0/8     // private use network (rfc1918)
172.16.0.0/12  // private use network (rfc1918)
192.168.0.0/16 // private use network (rfc1918)
0.0.0.0/8      // "this" network (rfc1700)
169.254.0.0/16 // link local network (rfc3927)
192.0.2.0/24   // test net (rfc3330)
224.0.0.0/4    // Multicast (rfc3171)
240.0.0.0/4    // Reserved for Future Use (rfc1700)

IPv6:
fc00::/7       // unique-local addresses (rfc4193)
::/128         // unspecified address (rfc4291)
::1/128        // loopback address (rfc4291)
fe80::/10      // link local unicast (rfc4291)
2001:db8::/32  // documentation addresses (rfc3849)
5f00::/8       // 6Bone
3ffe::/16      // 6Bone
::ffff:0:0/96  // IPv4-Mapped addresses (rfc4291)
2001:10::/28   // ORCHID addresses (rfc4843)
::/0           // default unicast route address

server($index = null, $default = null)

server 能让你从 $_SERVER 阵列读取参数并带着预设值, 不带参数呼叫以取回完整阵列。

静态
参数
参数预设描述
$index选择性在 $_SERVER 阵列中的键。
$default选择性当找不到阵列项目应该被回传什幺值?
回传字串
範例
Input::server('HTTP_HOST'); // "localhost:8080"

referrer($default = '')

referrer 方法能让你从 $_SERVER 阵列读取导入连结。

静态
参数
参数预设描述
$default选择性当找不到阵列项目应该被回传什幺值?
回传字串
範例
Input::referrer();

user_agent($default = '')

user_agent 能让你从 $_SERVER 阵列读取使用者代理。

静态
参数
参数预设描述
$default选择性当找不到阵列项目应该被回传什幺值?
回传字串
範例
Input::user_agent();

all()

all 回传所有 GET、POST、PUT 和 DELETE 变数。

静态
回传阵列
範例
Input::all();

file($index = null, $default = null)

file 方法能让你从 FILE 阵列取回一个项目。

静态
参数
参数预设描述
$index选择性在 $_FILE 阵列中的键。
$default选择性当找不到阵列项目应该被回传什幺值?
回传字串|阵列
範例
Input::file();

param($index = null, $default = null)

param 能让你从 GET、POST、PUT 或 DELETE 阵列之中取回一个项目。

静态
参数
参数预设描述
$index选择性在 $_GET、$_POST、$_PUT 或 $_DELETE 阵列中的键。
$default选择性当找不到阵列项目应该被回传什幺值?
回传字串|阵列
範例
Input::param();

extension()

extension 方法回传目前 URI 副档名。

静态
参数
回传字串|null
範例
// 範例 URL:http://localhost/test/
echo Input::extension(); // NULL

// 範例 URL:http://localhost/test.html
echo Input::extension(); // 'html'

headers($index = null, $default = null)

headers 方法回传目前请求的指定或所有 HTTP 表头。

静态
参数
参数预设描述
$index选择性HTTP 表头的名称。
$default选择性如果该表头条目找不到时应该回传什幺值?
回传阵列
範例
// 检查是否有指定的 Content-Length
if ($headers = \Input::headers() and array_key_exists('Content-Length', $headers))
{
	echo 'The content length set on this request is', $headers['Content-Length'];
}

// 或直接取回它
if ($header = \Input::headers('Content-Length', false))
{
	echo 'The content length set on this request is', $header;
}