我想使用以下内容将请求转发给另一个控制器:
$controller_response = $this->forward( 'MyBundle:Clients:getClients' );
工作正常,但我需要更新请求以获得不同的内容,我无法弄清楚我应该使用哪种方法,以下不起作用:
$request->content->set('new content');
$request->set('content', 'new content');
$request->setContent('new content');
甚至可以这样做吗?如果不是,我可以创建一个全新的请求并将其作为参数添加,我宁愿尽可能避免这样做。
答案 0 :(得分:2)
您可以使用setContent
方法更改响应内容。
$response->setContent('<html>Hello</html>');
您也可以更改请求
$request->request->set('key', 'value');
$request->query->set('key', 'value');
答案 1 :(得分: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);
不幸的是,似乎并没有很好的方法,但这对我有用。