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();