我的控制器方法如下:
/**
* @Route("/film/{slugDe}", name="movie_De")
*/
public function movieAction($slugDe)
{
现在我需要使用请求绑定表单,但不会注入请求。如何注入请求并保留路由参数?
答案 0 :(得分:4)
你可以从控制器中获得这样的请求......
$request = $this->get('request_stack')->getCurrentRequest();
编辑:
实际上,在考虑了这一点后,我认为马丁的答案可能是更好的选择。虽然以上是从控制器获取请求的完全有效的方法,但请求的类型提示可能是首选方法。如图所示,当您使用slugs时,仍然可以在控制器操作方法中为请求键入提示。
What is the best way to get the 'Request' object in the controller?
http://symfony.com/blog/new-in-symfony-2-4-the-request-stack
答案 1 :(得分:2)
你可以简单地注入这样的请求:
use Symfony\Component\HttpFoundation\Request;
public function movieAction($slugDe, Request $request)
{
// ...
$form->handleRequest($request);
// ...
}
请参阅http://symfony.com/doc/current/book/controller.html#the-request-as-a-controller-argument