当前位置: 首页 > 文档资料 > FuelPHP 中文文档 >

Request - 类別

优质
小牛编辑
137浏览
2023-12-01

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