$ _GET和$ request-> getParameter()之间的差异

时间:2011-03-29 19:48:14

标签: frameworks parameters symfony1

我目前正在研究symfony框架。 我找不到$_GET$request->getParameter()之间差异的答案。 我可以理解$ request-> getPrameter()可以用于,

if(isset($_GET['test'])){
 $test = $_GET['test'];
}else{
 $test = 'Unknown';
}

$request->getParameter('test','Unknown');

还有别的吗?我原本期望它过滤XSS,但我认为不是。

对我而言,$_GET方式更容易,但我觉得我应该使用$request->getParameter()

所以,我想知道究竟有多差异。

谢谢! :)

3 个答案:

答案 0 :(得分:1)

使用:

$request['parameter']

这相当于$request->getParameter('parameter', null)

请注意,$request->getParameter$_GET的不同之处在于它返回所有参数类型。 $request->getGetParameter相当于$_GET

答案 1 :(得分:0)

如果您访问请求参数,例如:

$request->getParameter('parameter');

它也可以是$ _GET ['parameter']或$ _POST ['parameter']的值。它很有用,因为通常你不关心值是通过post还是get方法。

答案 2 :(得分:0)

如果您专门在获取参数之后, 实际上应该使用$request->getGetParameter('parameter')

$request->getGetParameter('parameter')相当于$_REQUEST['parameter'],可能不会产生所需的行为。

另外值得注意的是,通过$sf_request$sf_request->getGetParameter('parameter')

,您的视图中提供了sfWebRequest对象