Tengo un objeto Symfony\Component\HttpFoundation\Request y de él quiero obtener todos los parámetros de URL proporcionados. En otras palabras, cuando el usuario visita el http://example.org/soempage?param1=value1¶m2=value2¶m3=value3
Quiero generar una matriz que tenga estos valores ['param1','param2','param3'] .
También he visto este: ¿Cómo obtener todos los parámetros de publicación en Symfony2?
Y probé lo siguiente basado en lo anterior:
/** * @var request Symfony\Component\HttpFoundation\Request */ $parametersToValidate=$request->request->all(); $parametersToValidate=array_keys($parametersToValidate);Y
/** * @var request Symfony\Component\HttpFoundation\Request */ $parametersToValidate=$request->all(); $parametersToValidate=array_keys($parametersToValidate);Sin el resultado deseado pero en su lugar recibo este mensaje de error:
Se intentó llamar a un método no definido llamado "todos" de la clase "Symfony\Component\HttpFoundation\Request\
La solicitud que uso int en un método estático que valida mi entrada. El método se llama a través del controlador y se implementa así con fines de reutilización.
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)); } } }Has probado:
$parametersToValidate = $request->query->all();