【问题标题】:Symfony 3, how to transfer URL parameters with redirectToRoute methodSymfony 3,如何使用 redirectToRoute 方法传输 URL 参数
【发布时间】:2023-04-01 08:01:02
【问题描述】:

我在我的控制器中使用了redirectToRoute,我想知道如何在这个方法中传输URL参数(redirectToRoute)?

我已经在网上搜索(SF 文档和论坛),但没有找到解决方案。

谢谢。

【问题讨论】:

    标签: symfony url redirect


    【解决方案1】:

    让我们看看这个方法的来源:

    /**
     * Returns a RedirectResponse to the given route with the given parameters.
     *
     * @param string $route      The name of the route
     * @param array  $parameters An array of parameters
     * @param int    $status     The status code to use for the Response
     *
     * @return RedirectResponse
     */
    protected function redirectToRoute($route, array $parameters = array(), $status = 302)
    {
        return $this->redirect($this->generateUrl($route, $parameters), $status);
    }
    

    如您所见,第二个参数是$parameters

    所以只需将它们作为数组作为第二个参数传递。所以它应该像这样使用:

    $this->redirectToRoute('show_page', array('id' => 123));
    

    【讨论】:

      【解决方案2】:

      代码示例:

      // Get URL parameter :
      $urlParam = $request->query->get('url-param') ;
      
      // Transfer parameter
      $urlParameters[ "url-param" ] = $urlParam ;
      return $this->redirectToRoute("eqt_search", $urlParameters) ;
      

      【讨论】:

        【解决方案3】:

        处理数组的新方法也有效。

            return $this->redirectToRoute('routename',[
                'param1' => $param1,
            ]);
        

        输出将做一个查询字符串。

        路由名称?param1=数据

        【讨论】:

          猜你喜欢
          • 2016-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-14
          • 2019-03-16
          • 1970-01-01
          • 2016-04-18
          • 2016-06-03
          相关资源
          最近更新 更多