Request クラス
Request クラスは、 URI リクエストを処理します。Fuel は index.php 内で、ユーザーからの URI リクエストを処理するために同クラスを使用しています。また、HMVC コンテキストの中でリクエストを生成するためには、このクラスを使う必要があります。
forge($uri = null, $route = true)
forge メソッドは、新しい request オブジェクトを返します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$uri |
null
|
リクエストされている URI 。このパラメータが存在しない場合は、URI を検出するために URI クラスが使われます。 |
$route |
true
|
もし true であれば、渡されたまたは検出された URI は Routing クラスで処理されます。もしルート (経路) が存在しないのであれば、 404 が生成されます。もし非公開の URI をリクエストするのであれば、このパラメータには false をセットしてください。 |
|
返り値 |
Fuel\Core\Request オブジェクト |
例 |
// admin コントローラ内にある login メソッドの request オブジェクトを生成する
$request = Request::forge('admin/login');
// これはオブジェクトを生成するだけであって、リクエストを実行するわけではないことに注意!
|
cURL または SOAP リクエストのオブジェクトを生成するのに、Request::forge() を使うこともできます。
execute($method_params = null)
execute メソッドは、リクエストを実行し、返された結果を後で使用される request オブジェクトに格納します。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$method_params |
null
|
コールされているコントローラへ渡すオプションのパラメータ配列。 |
|
返り値 |
Fuel\Core\Request オブジェクト |
例 |
// admin コントローラ内にある login メソッドの request オブジェクトを生成して実行する
$request = Request::forge('admin/login')->execute();
// login コントローラにオブジェクトを渡す
$object = new Object();
$request = Request::forge('admin/login')->execute(array('object' => $object));
|
response()
response メソッドは、実行されたリクエストの response オブジェクトを取得します。
静的 |
いいえ |
パラメータ |
いいえ |
返り値 |
Fuel\Core\Response オブジェクト |
例 |
// リクエストを実行し、レスポンスを取得し、それを表示する
$response = Request::forge('admin/login')->execute()->response();
echo $response;
// Request オブジェクトには、出力を取得する別の方法として __toString() メソッドが含まれています
$output = Request::forge('admin/login')->execute();
echo $output;
|
params()
このリクエストのトリガーとなるルートの中にある全ての名前付きパラメータの配列を返します。
静的 |
いいえ |
パラメータ |
いいえ |
返り値 |
array |
例 |
// 名前付きパラメータの一覧を取得
$params = Request::active()->params();
|
get_method()
リクエストメソッドを取得します。
静的 |
いいえ |
パラメータ |
なし |
返り値 |
リクエストメソッド |
例 |
// 生成されたリクエストのリクエストメソッドを取得
$method = Request::main()->get_method();
|
set_method($method)
リクエストメソッドをセットします。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$method |
string 、必須 |
返されるパラメータ名。これはルートの中で定義されたものとまったく同じでないといけません。 |
|
返り値 |
現在のインスタンス |
例 |
// 生成されたリクエストにリクエストメソッドをセット
$params = Request::forge('some/route')->set_method('POST');
|
param($param, $default = null)
このリクエストのトリガーとなるルートの中にある特定の名前付きパラメータを返します。パラメータが見つからなかった場合はデフォルト。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$param |
string 、必須 |
返されるパラメータ名。ルートで定義されているものと同じでないとならない。 |
$default |
null
|
名前付きパラメータのリクエストが定義されていないならば、デフォルトの値が返されます。 |
|
返り値 |
mixed |
例 |
// 'name' という特定の名前のパラメータを取得
$param = Request::active()->param('name', 'none');
|
ルーティング の項目は、名前付きパラメータがルートの中でどのように定義されるかを説明しています。
parent()
この Request を生成した Request
静的 |
いいえ |
パラメータ |
いいえ |
返り値 |
Fuel\Core\Request オブジェクト、またはメインのリクエストの場合は null |
例 |
// 現在実行されている Request の親を取得
$parent = Request::active()->parent();
|
children()
リクエスト処理中に生成された Request オブジェクト。
静的 |
いいえ |
パラメータ |
いいえ |
返り値 |
Fuel\Core\Request オブジェクトの配列 |
例 |
// メインのリクエスト処理中に生成された各種リクエストを取得
$children = Request::main()->children();
|
main()
main メソッドは、メインの Request インスタンス (最初のページリクエストで生成されたもの)
を返します。
静的 |
はい |
パラメータ |
いいえ |
返り値 |
Fuel\Core\Request オブジェクト、あるいはメインの request インスタンスが存在しない場合は false を返す。 |
例 |
$main = Request::main();
|
これは最初に実行された request インスタンスであって、必ずしも現在のリクエストの親ルートインスタンスではありません。
たとえば、メインのリクエストが 404 で (_404_ にルート付けられたものが実行された)
その後に新しいリクエストを生成するという様なケースがそれにあたるでしょう。
active()
active メソッドは、アクティブな request インスタンスを返します。
静的 |
はい |
パラメータ |
いいえ |
返り値 |
Fuel\Core\Request オブジェクト、 あるいはアクティブな request インスタンスが存在しない場合は false を返す。 |
例 |
$active = Request::active();
|
add_path($path, $prefix = false)
add_path メソッドは、現在の request インスタンスに検索パスを追加します。検索パスは、アプリケーション内のファイルを見つけるために Finder::search() で使われます。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$path |
必須 |
リクエスト一覧に、ローカル検索パスを加える |
$prefix |
false
|
false なら、パスは検索パスの後ろに、true なら検索パスの前に付加されます。 |
|
返り値 |
void |
例 |
// アプリケーションの myfiles フォルダをアクティブな request インスタンスの検索パスに付け加える。
Request::active()->add_path(APPPATH.'myfiles'.DS);
|
get_paths()
get_paths メソッドは、設定されている検索パス一覧を返します。
静的 |
いいえ |
パラメータ |
いいえ |
返り値 |
void |
例 |
// アクティブな request インスタンス内で設定されている検索パスを取得
$paths = Request::active()->get_paths();
|