【问题标题】:how different between $_GET and $request->getParameter()$_GET 和 $request->getParameter() 之间有什么不同
【发布时间】:2011-03-29 19:48:14
【问题描述】:

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

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

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

还有什么?我原以为它会过滤 XSS,但我认为它不会。

对我来说,$_GET 的方式要容易得多,但我觉得我应该使用 $request->getParameter()

所以,我想知道到底有什么不同。

谢谢! :)

【问题讨论】:

    标签: frameworks parameters symfony1


    【解决方案1】:

    用途:

    $request['parameter']
    

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

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

    【讨论】:

      【解决方案2】:

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

      $request->getParameter('parameter');
      

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

      【讨论】:

        【解决方案3】:

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

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

        另外值得注意的是,sfWebRequest 对象可通过$sf_request$sf_request->getGetParameter('parameter') 在您的视图中使用

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-11
          • 1970-01-01
          • 2011-12-19
          • 2015-02-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多