基本フレームワークを使うけど、ピュアPHPで組むことも多いころすけ(@wg_koro)です。
PHPでリクエストデータにアクセスする時って意外とめんどくさいですよね。例えば、
http:://hogefuga.com/?val=1
というURLで「val」にアクセスしたい時。
if(isset($_GET["val"])){
$val = $_GET["val"];
}
else{
$val = 0;
}
[/php]
値があればセットして、無ければ別の値をセット。この後、valがint型かどうかチェックして…というのがまた面倒くさい。
というわけで、色んなフレームワークに搭載されているのと同じような簡易ヘルパークラスを作りました。
データを簡単取得
使い方:
// urlが http://aaa.bbb.com/?val=1 だったとして、「val」を取りたい。
$val = Http::get("val"); // => string("1")
$val2 = Http::get("val2"); // => null ※指定したkeyが存在しない場合はnullを返す
// 第2引数に、「パラメーターが存在しない場合」のデフォルト値をセットできます。
// 例: http://aaa.bbb.com/
$val = Http::get("val", "No value"); // => string("No value")
// Int型など、型変換が必要であれば第3引数に型名指定で変換。 ※デフォルトはString型に変換します
// 例: http://aaa.bbb.com/?val=111
$val = Http::get("val", 0, "int"); // => int(111)
// 変換に失敗した場合、デフォルト値を返します
// Example url: http://aaa.bbb.com/?val=abc
$val = Http::get("val", 0, "int"); // => int(0)
[/php]
第3引数に指定できる文字列は下記の通り。
- str
- string
- int
- integer
- bool
- boolean
- array
- object
- unset
…PHPの型変換で可能なものをとりあえず全部つっこんでみましたw
メソッドはGETだけでなく、他にも色々作ってあります。
- Http::get(key_name, default=null, cast_type=”string”) … $_GET
- Http::post(key_name, default=null, cast_type=”string”) … $_POST
- Http::request(key_name, default=null, cast_type=”string”) … $_REQUEST
- Http::cookie(key_name, default=null, cast_type=”string”) … $_COOKIE
- Env::session(key_name, default=null, cast_type=”string”) … $_SESSION
- Env::server(key_name, default=null, cast_type=”string”) … $_SERVER
オマケとして、リクエストメソッド名を返すのもあります。
- Http::method() … “GET”, “POST”, “PUT” …といったメソッド名を返します
使ってみるとやっぱり楽。pure-PHPのメンテナンスにお使いくださいませ〜。