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);
望ましい結果が得られませんが、代わりに次のエラーメッセージが表示されます。
クラス「Symfony\Component\HttpFoundation\Request \」の「all」という名前の未定義のメソッドを呼び出そうとしました
入力を検証する静的メソッドに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();