Input クラス

input クラスは、HTTP パラメータやサーバ変数、ユーザエージェント情報へのアクセスを提供します。

uri()

The uri method detects the current URI to build the correct string.

静的 はい
パラメータ なし
返り値 string - スラッシュに続く現在の URI
// 例 URL: http://localhost/controller/method
echo Input::uri(); // 返り値: /controller/method

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

json メソッドは、json 形式で送られたリクエストボディをデコードして (and cleaned) 返します。

静的 はい
Parameters
Param Default Description
$index optional The key in the json request body. Multi-dimensional arrays can be accessed by separating the levels by a dot (.)
$default
null
What value should be returned if the array item is not found?
返り値 array - Format::from_json result array
$value = \Input::json('key');

// 値が与えられていない場合はデフォルト値をセットする:
$value = \Input::json('key', 'backup-value');

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

xml メソッドは、XML 形式で送られたリクエストボディをデコードして (and cleaned) 返します。

静的 はい
Parameters
Param Default Description
$index optional The key in the XML request body. Multi-dimensional arrays can be accessed by separating the levels by a dot (.)
$default
null
What value should be returned if the array item is not found?
返り値 array - Format::from_json result array
$value = \Input::xml('key');

// 値が与えられていない場合はデフォルト値をセットする:
$value = \Input::xml('key', 'backup-value');

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');

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

get メソッドは、$_GET 変数を読み込みます。引数なしで呼び出すと、配列をすべて取得します。

静的 はい
パラメータ
引数 規定値 説明
$index optional The key in the $_GET array. Multi-dimensional arrays can be accessed by separating the levels by a dot (.)
$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 メソッドを返します。If the header X-HTTP-Method-Override has been sent, the specified method will be returned instead.

静的 はい
パラメータ
引数 規定値 説明
$default
'GET'
Default HTTP method.
返り値 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();