Uri クラス
UriクラスはURIを対話的に扱うのを可能にします。
base($include_index = true)
baseメソッドはベースURLを返します。なお、$include_indexをfalseにセットした場合は、インデックスファイルindex_file名を除去して、そのURLを返します。
次の点に留意してください。: もしapp/config/config.phpでindex_fileがセットされていない場合は$include_index変数は無視されます。
Static |
Yes |
パラメタ |
パラメータ |
初期値 |
説明 |
$include_index |
true
|
返り値のurlに対してインデックスを付加するかどうかを決めます。 |
|
返り値 |
文字列, オプションとしてインデックスファイル名が付加されることがあるベース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を含みます。
Static |
Yes |
パラメタ |
パラメータ |
初期値 |
説明 |
$uri |
null
|
URL |
$variables |
array()
|
URLのための各種変数 |
$get_variables |
array()
|
URLに付加されるクエリー文字列。その値とキーは$variables配列から得られた変数を利用することが出来ます。 |
$secure |
null
|
生成されるURLは、本項がfalseの場合はhttp, trueの場合はhttpsとなります。 |
|
返り値 |
文字列 |
例 |
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が含まれます。
Static |
Yes |
パラメタ |
無し |
返り値 |
文字列 |
例 |
// URL例: http://localhost/module/controller/method
echo Uri::current(); // http://localhost/module/controller/method が返ります。
|
main()
mainメソッドでベースURLを含む現在のURLを取得することが出来ます。
Static |
Yes |
パラメタ |
無し |
返り値 |
文字列 |
例 |
// URLの例: http://localhost/controller/method
echo Uri::main(); // returns http://localhost/controller/method
|
segment($segment, $default = null)
segmentメソッドを用いると、取得したい特定のurlセグメントを得ることができます。そのセグメントが存在しない場合は、falseが返されます。
Static |
Yes |
パラメタ |
パラメータ |
初期値 |
説明 |
$segment |
必須 |
セグメント番号 |
$default |
null
|
デフォルト?(The default?) |
|
返り値 |
文字列 |
例 |
// URLの例: http://localhost/controller/method/param1/param2
echo Uri::segment(3); // param1 が返ります。
|
segments()
segmentsメソッドによって、現在のURIセグメント全てを配列で取得することが出来ます。
Static |
Yes |
パラメタ |
無し |
返り値 |
配列 |
例 |
// URL例: http://localhost/controller/method
echo Uri::segments(); // array(0 => 'controller', 1 => 'method')が返ります。
|
segment_replace($url)
The segment_replace method allows you to replace wildcards in a given url by the current URI segment in that position.
Static |
Yes |
Parameters |
Param |
Default |
Description |
$url |
Required |
The url containing wildcards. A wildcard is defined by a * character. |
|
Returns |
string |
Throws |
OutOfBoundsException, if a wildcard is at a segment location for which no value exists. |
Example |
// Example: Current URL = http://localhost/one/two, with segments 'one' and 'two'
// returns http://localhost/one/two/three
echo Uri::segment_replace('http://localhost/*/*/three');
// throws an exception, as there is no third segment available
echo Uri::segment_replace('http://localhost/this/that/*/other');
|
to_assoc()
to_assocメソッドはセグメントが偶数の場合、それを配列化して連想配列にします。奇数の場合はnullを返します。
Static |
Yes |
パラメタ |
無し |
返り値 |
配列かnull |
例 |
// Uri が /welcome/index/page/4 の場合
$arr = Uri::to_assoc();
/*
結果:
array(
'welcome' => 'index',
'page' => 4,
);
*/
// Uri が /welcome の場合
$arr = Uri::to_assoc();
/*
結果:
null
*/
|
string()
string メソッドを用いると、現在のURIを取得出来ます。
Static |
Yes |
パラメタ |
無し |
返り値 |
文字列 |
例 |
// URL例: http://localhost/controller/method
echo Uri::string(); // controller/method が返ります。
|