FuelphpでURLのセグメントを利用し、処理を変更したり判断させたりすることをすることが多くあります。
Uriクラスを使用すれば簡単にURLのセグメントを取得することが可能です。
今回はFuelphpでUriクラスを使用して、URLのセグメント情報を取得する方法をメモします。
■ segment()
引数で指定した番号のセグメントを取得します。
セグメントがない場合はfalseを返します。
Uri::segment(セグメント番号, デフォルト値);
【使用方法】
「http://www.example.com/test/hoge/」でアクセスした場合
$str = Uri::segment(2); var_dump($str);
2つ目のセグメントを取得することができます。
string(4) "hoge"
■ segments()
URLの全てのセグメントを配列で取得します。
Uri::segments();
【使用方法】
「http://www.example.com/test/hoge/」でアクセスした場合
$arr = Uri::segments(); var_dump($arr);
セグメントを配列で取得することができます。
array(2) { [0]=> string(4) "test" [1]=> string(4) "hoge" }
「/fuel/app/config/routes.php」で「(:num)」や「(:any)」などで指定した場合、セグメントの情報によってデータを取得したり、処理を変更したりなど色々な使い方ができると思います。