Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在symfony中重定向_Symfony - Fatal编程技术网

在symfony中重定向

在symfony中重定向,symfony,Symfony,我试图了解这两种在symfony中重定向的方法之间是否有任何区别 1通过不带自定义控制器的配置 如前所述 2通过自定义控制器中的redirect()方法 如前所述 当我谈到差异时,我指的是性能、易用性和可维护性 谢谢。在第一种情况下,您不需要创建控制器。您可以从配置管理一切,这是一种方便。 重定向将由执行。就性能而言,这两种方法没有区别 如果您必须做的是重定向,那么使用第一种方法。问题是您的第一个解决方案将重定向,而不使用特定的控制器,只使用配置,而您的第二个解决方案将执行您的操作,然后重定向。

我试图了解这两种在symfony中重定向的方法之间是否有任何区别

1通过不带自定义控制器的配置 如前所述

2通过自定义控制器中的redirect()方法 如前所述

当我谈到差异时,我指的是性能、易用性和可维护性


谢谢。

在第一种情况下,您不需要创建控制器。您可以从配置管理一切,这是一种方便。 重定向将由执行。就性能而言,这两种方法没有区别


如果您必须做的是重定向,那么使用第一种方法。

问题是您的第一个解决方案将重定向,而不使用特定的控制器,只使用配置,而您的第二个解决方案将执行您的操作,然后重定向。这是两个不同的用例,它们并不相同。

感谢您关于性能的说明。在我们的例子中,我们已经在一个自定义控制器中发生了几个重定向,因此我们将继续在那里添加它们,以便将它们放在一起。但是如果我需要从头开始实现这些,我可能会遵循第一种方法。
# app/config/routing.yml

# ...

codes:
    path: /codes # redirect /codes to /code
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: /code
        permanent: true
class RedirectsController extends Controller {
    /**
     * @Route("/codes")
     */
    public function codesAction() {
        return $this->redirect('/code', 301); // redirect /codes to /code
    }
}