0

次のようなものを使用して、リクエストを別のコントローラーに転送したいと思います。

$controller_response = $this->forward( 'MyBundle:Clients:getClients' );

それは問題なく機能しますが、別のコンテンツを持つようにリクエストを更新する必要があります。使用する方法がわかりません。次の方法は機能しません。

$request->content->set('new content');
$request->set('content', 'new content');
$request->setContent('new content');

これを行うことさえ可能ですか?そうでない場合は、まったく新しいリクエストを作成して引数として追加することができれば、可能であればそれを避けたいと思います。

4

2 に答える 2

2

メソッドを使用して応答の内容を変更できますsetContent

$response->setContent('<html>Hello</html>');

リクエストを変更することもできます

$request->request->set('key', 'value');
$request->query->set('key', 'value');
于 2012-07-27T09:03:39.153 に答える
1
$request = Request::createFromGlobals();
$newContent = json_decode($request->getContent(), true);
$request->initialize($request->query->all(), $request->request->all(), $request->attributes->all(), $request->cookies->all(), $request->files->all(), $request->server->all(),  $newContent);

残念ながら、それを行うための優れた方法はないようですが、これは私にとってはうまくいきました。

于 2013-10-10T17:52:05.883 に答える