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