Symfony2 如何在控制器中注入请求和获取路由参数

jef*_*eff 2 php dependency-injection inject request symfony

我的控制器方法如下:

   /**
     * @Route("/film/{slugDe}", name="movie_De")
     */
    public function movieAction($slugDe)
    {
Run Code Online (Sandbox Code Playgroud)

现在我需要用请求绑定一个表单,但没有注入请求。如何注入请求并保留路由参数?

Cha*_*rra 5

你可以从控制器中得到这样的请求......

$request = $this->get('request_stack')->getCurrentRequest();
Run Code Online (Sandbox Code Playgroud)

编辑:

实际上,在稍微考虑一下之后,我认为 Martin 的答案可能是更好的选择。虽然以上是从控制器获取请求的完全有效的方法,但请求的类型提示可能是首选方法。如图所示,当您使用 slug 时,您仍然可以在控制器操作方法中为请求键入提示。

在控制器中获取“请求”对象的最佳方法是什么?

http://symfony.com/blog/new-in-symfony-2-4-the-request-stack