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 回答