2015-11-03 41 views
2

我做了一个简单的GET请求数据: http://my-domain.example/settings/test-smtp?prefix=shop

这是处理这一请求的控制器:

public function testSMTPConnectionAction(Request $request) 
{ 
    var_dump($_GET); 
    var_dump($request->server->get('QUERY_STRING')); 
    var_dump($request->query); 
    var_dump($request->query->all()); 
} 

结果:

array(1) { 
    ["prefix"]=> 
    string(4) "shop" 
} 
string(11) "prefix=shop" 
object(Symfony\Component\HttpFoundation\ParameterBag)#460 (1) { 
    ["parameters":protected]=> 
    array(0) { 
    } 
} 
array(0) { 
} 

我在做什么错了?它不应该是相同的$ _GET和$ request->查询? 我正在使用symfony 2.6.11。

+0

你看到了什么,如果你倾倒$请求 - >查询 - >获取( '前缀')? –

+0

与您的代码只是试图和它的工作原理:'阵列(1){ [ “前缀”] => 串(4) “商店” } 串(11) “前缀=店” 对象(Symfony的\元器件\ HttpFoundation \ ParameterBag)#9(1){ [ “参数”:保护] => 阵列(1){ [ “前缀”] => 串(4) “商店” } } 阵列( 1){ [“prefix”] => string(4)“shop” } – COil

回答

0

试试这种方法:

$request->attributes->get('prefix'); 

问候