Uri クラス

Uri クラスは URI を対話的に扱うことができます。

base($include_index = true)

base メソッドはベース URL を返します。 なお、 $include_index を false にセットした場合は、 index_file (インデックスファイル名) を除いた URL を返します。

注意してください : もし app/config/config.php で index_file がセットされていない場合は $include_index 変数は無視されます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$include_index
true
返り値の url に対してインデックスを付加するかどうかを決めます。
返り値 string 、オプションとしてインデックスファイル名が付加されることがあるベース url を返します。
echo Uri::base();
// http://localhost/index.php

echo Uri::base(false);
// http://localhost/

create($uri = null, $variables = array(), $get_variables = array(), $secure = null)

create メソッドは、与えられた URI を加えた URL を生成することが出来ます。その URL にはベース URL を含みます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$uri
null
URL
$variables
array()
URL のための各種変数。
$get_variables
array()
URL に付加されるクエリ文字列。その値とキーは $variables 配列から得られた変数を 利用することが出来ます。
$secure
null
生成される URL は、本項が false の場合は http 、 true の場合は https となります。
返り値 string
echo Uri::create('controller/method');
// http://localhost/controller/method が返ります

echo Uri::create('controller/:some', array('some' => 'thing', 'and' => 'more'), array('what' => ':and'));
// http://localhost/controller/thing?what=more が返ります

echo Uri::create('http://www.example.org/:some', array('some' => 'thing', 'and' => 'more'), array('what' => ':and'));
// http://www.example.org/thing?what=more が返ります

echo Uri::create('http://www.example.org/:some', array('some' => 'thing', 'and' => 'more'), array('what' => ':and'), true);
// https://www.example.org/thing?what=more が返ります

current()

current メソッドを用いると、現在の URL を取得出来ます。URL には HMVC パターン内部で定義されているベース URL が含まれます。

静的 はい
パラメータ 無し
返り値 string
// URL 例 : http://localhost/module/controller/method
echo Uri::current(); // http://localhost/module/controller/method が返ります

main()

main メソッドでベース URL を含む現在の URL を取得することが出来ます。

静的 はい
パラメータ 無し
返り値 string
// URL 例 : http://localhost/controller/method
echo Uri::main(); // http://localhost/controller/method が返ります

segment($segment, $default = null)

segment メソッドを用いると、取得したい特定の url セグメントを得ることができます。そのセグメントが存在しない場合は、 false が返されます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$segment 必須 セグメント番号。
$default
null
デフォルト? (The default?)
返り値 string
// URL 例 : http://localhost/controller/method/param1/param2
echo Uri::segment(3); // param1 が返ります

segments()

segments メソッドによって、現在の URI セグメント全てを配列で取得することが出来ます。

静的 はい
パラメータ 無し
返り値 array
// URL 例 : http://localhost/controller/method
echo Uri::segments(); // array(0 => 'controller', 1 => 'method') が返ります

segment_replace($url, $secure = null)

segment_replace メソッドは、与えられた url の中にあるワイルドカードを、その場所にある現在の URI セグメントに取り替えることができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$url 必須 ワイルドカードを含んだ URL 。ワイルドカード文字は * (アスタリスク) で表されます。
$secure
null
返される URL は、本項が false の場合は HTTP 、 true の場合は HTTPS となります。
返り値 string
例外 OutOfBoundsException 。もし、ワイルドカードが置かれた場所にあるセグメントの値が存在しなかった場合。
// 例 : 現在の URL = http://localhost/one/two 、'one' と 'two' のセグメントを持っている

// http://localhost/one/two/three を返す
echo Uri::segment_replace('http://localhost/*/*/three');

// 3 番目のセグメントが存在しなかったとして、例外を投げる
echo Uri::segment_replace('http://localhost/this/that/*/other');

// https://localhost/one/two/three を返す
echo Uri::segment_replace('http://localhost/*/*/three', true);

update_query_string($vars = array(), $uri = null, $secure = null)

update_query_string メソッドは、現在の URI または渡された URI のクエリ文字列を更新します。

静的 はい
パラメータ
パラメータ デフォルト 説明
$vars
array()
クエリ変数の連想配列、または変数名を含んだ文字列。
$uri
null
使用する url 。与えられなければ、現在の url が使われます。$vars が文字列ならば、 これは変数の値を含みます(このケースでは、カスタム uri を渡すことができないということです!)。
$secure
null
返される URL は、本項が false の場合は HTTP 、 true の場合は HTTPS となります。
返り値 string
// 例 : 現在の URL = http://localhost/test?one=1&two=2

// http://localhost/test?one=1&two=2&three=3 を返す
echo Uri::update_query_string(array('three' => 3));

// http://localhost/test?one=1&two=3 を返す
echo Uri::update_query_string(array('two' => 3));

// http://localhost/controller?four=4 を返す
echo Uri::update_query_string(array('four' => 4), 'http://localhost/controller');

// https://localhost/test?one=1&two=2&three=3 を返す
echo Uri::update_query_string('three', 3, true);

to_assoc($start = 1)

to_assoc メソッドはセグメントが偶数の場合、それを配列化して連想配列にします。奇数の場合は、最後のキーの値は null を返します。

静的 はい
パラメータ
パラメータ デフォルト 説明
$start
1
始まりのセグメント番号。これによって、主要なセグメントだけを取り出すことができます。
返り値 array
// Uri が /welcome/index/page/4 の場合
$arr = Uri::to_assoc();
/*
結果 :
array(
    'welcome' => 'index',
    'page'    => 4,
);
*/

// Uri が /welcome の場合
$arr = Uri::to_assoc();
/*
結果 :
array(
    'welcome' => null,
);
*/

string()

string メソッドを用いると、現在の URI を取得出来ます。

静的 はい
パラメータ 無し
返り値 string
// URL 例 : http://localhost/controller/method
echo Uri::string(); // controller/method が返ります

build_query_string($values ...)

build_query_string メソッドは、1 つ以上の連想配列か文字列値を渡してクエリ文字列を生成します。 既存のものから最新のクエリ文字列を組み立てるために Input::get() の中で渡すことができます。 文字列を渡す場合、スイッチとみなされて "string=1" に変換されます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$values 必須 1 つ以上の連想配列または文字列値
返り値 string
// "varA=varA&varB=1&varC=varC" が返ります
echo Uri::build_query_string(array('varA' => 'varA'), 'varB', array('varC' => 'varC'));