Request 类別
Request 类別处理 URI 請求。它被 Fuel 用在 index.php 处理使用者 URI 請求,在一个 HMVC 情境下你需要它來產生請求。
forge($uri = null, $route = true)
forge 方法回傳一个新的 Request 物件。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$uri |
null
|
要被請求的 URI。如果这个參数不存在,URI 类別将被用來偵测 URI。 |
$route |
true
|
如果为 true,被傳遞或被偵测到的 URI 将被路由类別处理。如果路徑不存在,一个 404 将被產生。如果你請求一个非公開的 URI,設定它为 false。 |
|
回傳 |
Fuel\Core\Request 物件 |
範例 |
// 为 admin 控制器的 login 方法建立請求物件
$request = Request::forge('admin/login');
// 請注意这只建立物件,它沒有执行請求!
|
你也可以使用 Request::forge() 來鍛造一个 cURL 或一个 SOAP 請求物件。
execute($method_params = null)
execute 方法执行一个請求并在該請求物件儲存回應的結果让後續使用。
靜態 |
否 |
參数 |
參数 |
預設 |
描述 |
$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 方法取回执行請求的回應物件。
靜態 |
否 |
參数 |
否 |
回傳 |
Fuel\Core\Response 物件 |
範例 |
// 执行請求、取回回應、并顯示它
$response = Request::forge('admin/login')->execute()->response();
echo $response;
// Request 物件包含一个 __toString() 方法做为一个替代方法來取回輸出
$output = Request::forge('admin/login')->execute();
echo $output;
|
params()
回傳一个觸发此請求的路由中所有具名參数的陣列。
靜態 |
否 |
參数 |
否 |
回傳 |
陣列 |
範例 |
// 取得具名參数的列表
$params = Request::active()->params();
|
get_method()
取得請求方法。
靜態 |
否 |
參数 |
無 |
回傳 |
請求方法 |
範例 |
// 在一个鍛造的 Request 取得請求方法
$method = Request::main()->get_method();
|
set_method($method)
設定請求方法。
靜態 |
否 |
參数 |
參数 |
預設 |
描述 |
$method |
字串,必要 |
要被回傳的參数名稱。这必須與路徑中定義的完全相同。 |
|
回傳 |
目前實例 |
範例 |
// 在一个鍛造的 Request 設定請求方法
$params = Request::forge('some/route')->set_method('POST');
|
param($param, $default = null)
回傳一个觸发此請求路徑中的指定具名參数,或如果該參数找不到時回傳預設值。
靜態 |
否 |
參数 |
參数 |
預設 |
描述 |
$param |
字串,必要 |
要被回傳的參数名稱。这必須與路徑中定義的完全相同。 |
$default |
null
|
如果請求的具名參数未被定義時要回傳的值。 |
|
回傳 |
混合 |
範例 |
// 取得稱为 'name' 的指定具名參数
$param = Request::active()->param('name', 'none');
|
路由段落介紹命名的參数如何被定義在路徑中。
parent()
建立此 Request 的 Request。
靜態 |
否 |
參数 |
否 |
回傳 |
Fuel\Core\Request 物件或當它是主要請求時为 null |
範例 |
// 取得目前活躍的 Request 的父代
$parent = Request::active()->parent();
|
children()
在此 Request 期間建立的 Request 物件。
靜態 |
否 |
參数 |
否 |
回傳 |
Fuel\Core\Request 物件陣列 |
範例 |
// 取得在主要的 Request 期間建立的 Requests。
$children = Request::main()->children();
|
main()
main 方法回傳主要的 Request
實例(由初始頁面請求所建立)。
靜態 |
是 |
參数 |
否 |
回傳 |
Fuel\Core\Request 物件,或 false 如果沒有主要的 Request 實例存在。 |
範例 |
$main = Request::main();
|
这是第一个执行的 Request 實例,并不一定是目前 Request 的根父代。
这可能是这種情況,例如,如果主要的 Request 发生 404,而且你在那之後建立一个新的
Request(发生在 _404_ 路徑)。
active()
active 方法回傳目前活躍的 Request 實例。
靜態 |
是 |
參数 |
否 |
回傳 |
Fuel\Core\Request 物件,或 false 如果沒有活躍的 Request 實例存在。 |
範例 |
$active = Request::active();
|
add_path($path, $prefix = false)
add_path 方法能让你添加一个搜尋路徑到目前的 Request 實例。搜尋路徑被 Finder::search() 用來定位你的应用程序內的档案。
靜態 |
否 |
參数 |
參数 |
預設 |
描述 |
$path |
必要 |
要被添加到 Request 本地搜尋路徑列表的路徑 |
$prefix |
false
|
如果为 false,路徑将被附加到搜尋路徑。如果为 true,它将被附加在前。 |
|
回傳 |
空 |
範例 |
// 添加应用程序 myfiles 文件夾到活躍的 Request 實例的搜尋路徑
Request::active()->add_path(APPPATH.'myfiles'.DS);
|
get_paths()
get_paths 方法回傳已定義的搜尋路徑列表。
靜態 |
否 |
參数 |
否 |
回傳 |
空 |
範例 |
// 取得活躍的 Request 實例定義的搜尋路徑
$paths = Request::active()->get_paths();
|