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($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 方法回傳目前請求的指定或所有 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;
}
|