[英]Symfony Request get all url Parameters
我有一个Symfony\\Component\\HttpFoundation\\Request
对象,我想从中获取所有提供的url参数。 换句话说,当用户访问http://example.org/soempage?param1=value1¶m2=value2¶m3=value3
我想生成一个具有这些值的数组['param1','param2','param3']
。
我也看过这个: 如何获取Symfony2中的所有帖子参数?
我基于上面尝试了以下内容:
/**
* @var request Symfony\Component\HttpFoundation\Request
*/
$parametersToValidate=$request->request->all();
$parametersToValidate=array_keys($parametersToValidate);
和
/**
* @var request Symfony\Component\HttpFoundation\Request
*/
$parametersToValidate=$request->all();
$parametersToValidate=array_keys($parametersToValidate);
没有期望的结果,但我收到此错误消息:
尝试调用名为“all”的类“Symfony \\ Component \\ HttpFoundation \\ Request \\”的未定义方法
请求我使用int进入一个验证输入的静态方法。 该方法通过控制器调用,并且为了可重用性而实现。
public static function httpRequestShouldHaveSpecificParametersWhenGiven(Request $request,array $parametersThatHttpRequestShouldHave)
{
$parametersToValidate=$request->parameters->all();
if(empty($parametersToValidate)){
return;
}
$parameters=array_keys($parametersToValidate);
foreach($parameters as $param){
if(!in_array($parameters,$parametersThatHttpRequestShouldHave)){
throw new InvalidNumberOfParametersException(implode(',',$parametersToValidate),implode(',',$parametersThatHttpRequestShouldHave),implode(',',$diff));
}
}
}
你试过了吗:
$parametersToValidate = $request->query->all();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.