I have a Symfony\Component\HttpFoundation\Request
object and from it I want to fetch all the url paramethers that provided. In other words when the user visits the http://example.org/soempage?param1=value1¶m2=value2¶m3=value3
I want to generate an array that has these values ['param1','param2','param3']
.
Also I have seen this one: How to get all post parameters in Symfony2?
And I tried the following based on above:
/**
* @var request Symfony\Component\HttpFoundation\Request
*/
$parametersToValidate=$request->request->all();
$parametersToValidate=array_keys($parametersToValidate);
And
/**
* @var request Symfony\Component\HttpFoundation\Request
*/
$parametersToValidate=$request->all();
$parametersToValidate=array_keys($parametersToValidate);
Without the desired result but instead I get this error message:
Attempted to call an undefined method named "all" of class "Symfony\Component\HttpFoundation\Request\
The request I use int into a static method that validates my input. The method is called via the controller and is implemented like that for reusability purposes.
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));
}
}
}
Did you try:
$parametersToValidate = $request->query->all();