2014-09-25 62 views
3

我想将一个变量传递给我的控制器,无论其请求方法(POST或GET)如何,我都需要获取它的值,相当于$ _REQUEST ['myvar'],我该怎么做?

+1

'$ _SERVER'是一个超全球化的,它可以从任何地方获得。你可以随时随地使用它。类似于'$ _GET'和'$ _POST'。 – castis 2014-09-25 22:18:27

回答

5

要获得url属性这是一个路线的一部分,你必须做这样的事情(在控制器中):

$request->attributes->get(<attribute_name>); 

如果你需要得到POST或GET参数,你必须使用此代码:

$request->get(<parameter_name>); 

如果你需要得到$ _ SERVER数组的价值,你必须这样做:

$request->server->get(<server_key_name>); //$request->server->get('HTTP_REFERER'); 
0

我找到了答案......而不是使用下列之一:

public function indexAction(Request $request) 
{ 
    $request->query->get('myvar'); //gets GET var. 
    $request->request->get('myvar'); //gets POST var. 
    ... 

我需要调用请求得到

public function indexAction(Request $request) 
{ 

    $myvar = $request->get('myvar', null); 
    ... 
+1

您不需要将'null'传递给'get'方法,因为它已经是默认值。 – COil 2014-09-26 08:46:24