Input 类別

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 方法能让你讀取 $_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;
}