Input クラス
input クラスは、HTTP パラメータやサーバ変数、ユーザエージェント情報へのアクセスを提供します。
uri()
uri メソッドは正しい文字列で構築された現在の URI を検出します。
静的 |
はい |
パラメータ |
なし |
返り値 |
string - スラッシュに続く現在の URI |
例 |
// Example URL: http://localhost/controller/method
echo Input::uri(); // 返り値: /controller/method
|
json($index = null, $default = null)
json メソッドは、json 形式で送られたリクエストボディをデコードして (and cleaned) 返します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
json リクエストボディの中のキー。多次元配列には、階層をドット (.) で区切ることでアクセスできます。 |
$default |
null
|
指定された $index が取得できなかったときに返す値 |
|
返り値 |
array - Format::from_json 結果の配列 |
例 |
$value = \Input::json('key');
// 値が存在しない場合はデフォルト値がセットされる:
$value = \Input::json('key', 'backup-value');
|
xml($index = null, $default = null)
xml メソッドは、XML 形式で送られたリクエストボディをデコードして (and cleaned) 返します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
XML リクエストボディの中のキー。多次元配列には、階層をドット (.) で区切ることでアクセスできます。 |
$default |
null
|
指定された $index が取得できなかったときに返す値 |
|
返り値 |
array - Format::from_xml 結果の配列 |
例 |
$value = \Input::xml('key');
// 値が存在しない場合はデフォルト値がセットされる:
$value = \Input::xml('key', 'backup-value');
|
cookie($index = null, $default = null)
cookie メソッドは、$_COOKIE 変数を読み込みます。
引数なしで呼び出すと、すべてのクッキーを配列で取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
$_COOKIE 配列のキー。多次元配列には、階層をドット (.) で区切ることでアクセスできます。 |
$default |
null
|
配列の要素が見つからない場合に返す値 |
|
返り値 |
mixed |
例 |
Input::cookie('foo', 'bar');
|
delete($index = null, $default = null)
delete メソッドは、[訳注: HTTP の] DELETE メソッドで呼び出されたときに、php://input ストリームからパラメータを読み込みます。引数なしで呼び出すと、配列をすべて取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
php://input ストリームのキー |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
mixed |
例 |
Input::delete('foo', 'bar');
|
put($index = null, $default = null)
put メソッドは、[訳注: HTTP の] PUT メソッドで呼び出されたときに、php://input ストリームからパラメータを読み込みます。
引数なしで呼び出すと、配列をすべて取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
php://input ストリームのキー |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
mixed |
例 |
Input::put('foo', 'bar');
|
patch($index = null, $default = null)
patch メソッドは、[訳注: HTTP の] PATCH メソッドで呼び出されたときに、php://input ストリームからパラメータを読み込みます。
引数なしで呼び出すと、配列をすべて取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
php://input ストリームのキー |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
mixed |
例 |
Input::patch('foo', 'bar');
|
get($index = null, $default = null)
get メソッドは、$_GET 変数を読み込みます。引数なしで呼び出すと、配列をすべて取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
$_GET 配列のキー。多次元配列には、階層をドット (.) で区切ることでアクセスできます。 |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
mixed |
例 |
Input::get('foo', 'bar');
// 深い階層にも同様にアクセスできます。
// 次のコードは $_GET['somevar']['foo']['bar'] を返します。
Input::get('somevar.foo.bar');
|
post($index = null, $default = null)
post メソッドは、$_POST 変数を読み込みます。引数なしで呼び出すと、配列をすべて取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
$_POST 配列のキー。多次元配列には、階層をドット (.) で区切ることでアクセスできます。 |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
mixed |
例 |
Input::post('foo', 'bar');
// 深い階層にも同様にアクセスできます。
// 次のコードは $_POST['somevar']['foo']['bar'] を返します。
Input::post('somevar.foo.bar');
|
is_ajax()
is_ajax メソッドは、コントローラが AJAX から呼び出された場合に true を返します。
静的 |
はい |
パラメータ |
なし |
返り値 |
mixed |
例 |
Input::is_ajax(); // false
|
method($default = 'GET')
method メソッドは、コントローラの呼び出しに使用された HTTP メソッドを返します。もしヘッダー X-HTTP-Method-Override が送られていた場合、代わりに指定された方法で返されます。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$default |
'GET'
|
デフォルトの HTTP メソッド。 |
|
返り値 |
string |
例 |
Input::method(); // "GET"
|
protocol()
protocol メソッドは、コントローラの呼び出しに使用された HTTP プロトコルを返します。
静的 |
はい |
パラメータ |
なし |
返り値 |
string |
例 |
Input::protocol(); // "HTTP"
|
ip()
ip メソッドは、ユーザのグローバル IP アドレスを返します。プロキシサーバ経由でアクセスされた場合、プロキシサーバの IP アドレスを返します。
静的 |
はい |
パラメータ |
なし |
返り値 |
string |
例 |
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 アドレスのレンジは除外し、グローバル IP アドレスのみを返します。 |
|
返り値 |
string |
例 |
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 |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
string |
例 |
Input::server('HTTP_HOST'); // "localhost:8080"
|
referrer($default = '')
referrer メソッドは、$_SERVER 配列からリファラを取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
string |
例 |
Input::referrer();
|
user_agent($default = '')
user_agent は、$_SERVER 配列からユーザエージェントを取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
string |
例 |
Input::user_agent();
|
all()
all メソッドは、GET, POST, PUT および DELETE 配列のすべてを取得します。
静的 |
はい |
返り値 |
array |
例 |
Input::all();
|
file($index = null, $default = null)
file メソッドは、FILE 配列の要素を取得します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
$_FILE 配列のキー |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
string|array |
例 |
Input::file();
|
param($index = null, $default = null)
param メソッドは、GET, POST, PUT または DELETE 配列のいずれかを読み込みます
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
$_GET, $_POST, $_PUT または $_DELETE 配列のキー |
$default |
任意 |
配列の要素が見つからない場合に返す値 |
|
返り値 |
string|array |
例 |
Input::param();
|
extension()
extension メソッドは、現在の URI の拡張子を返します。
静的 |
はい |
パラメータ |
なし |
返り値 |
string|null |
例 |
// Example URL: http://localhost/test/
echo Input::extension(); // NULL
// Example URL: http://localhost/test.html
echo Input::extension(); // 'html'
|
headers メソッドは、現在のリクエストにおける特定または全ての HTTP ヘッダーを返します。
静的 |
はい |
パラメータ |
引数 |
デフォルト |
説明 |
$index |
任意 |
HTTP ヘッダーの名前。 |
$default |
任意 |
指定された $index が取得できなかったときに返す値 |
|
返り値 |
array |
例 |
// content length が取得できるかどうかを確認する
if ($headers = \Input::headers() and array_key_exists('Content-Length', $headers))
{
echo 'このリクエストでセットされている content length は ', $headers['Content-Length'];
}
// もしくは直接取得する
if ($header = \Input::headers('Content-Length', false))
{
echo 'このリクエストでセットされている content length は ', $header;
}
|