【问题标题】:Symfony3 - Logout path generation methodSymfony3 - 注销路径生成方法
【发布时间】:2017-08-10 07:41:38
【问题描述】:

在 Symfony 应用程序中使用 path('logout')logout_path() 有什么区别?

【问题讨论】:

  • 我猜 logout_path() 返回注销路径的相对 url
  • @MélikZarkouna 其实还有一个logout_url(),你可以用url('logout')。很奇怪,好像是重复的。

标签: php symfony session twig


【解决方案1】:

当您使用path('logout') 时,您调用RoutingExtension::getPath。名称为 'logout' 的路由可以指向您定义的任何 URL——例如到'/lorem-ipsum' 并调用任何控制器的操作——例如DefaultController::loremIpsumAction.

当您使用logout_path() 时,您调用LogoutUrlExtension::getLogoutPath,它使用LogoutUrlGenerator 为当前防火墙生成注销 URL。

【讨论】:

  • 所以最好使用logout_path()而不是path() ?
  • @FrederickMarcoux 当然是。不需要将注销路径定义为路由 - 请参阅此 security.yml 配置和此 template error
【解决方案2】:

路径:

{{ path(name, parameters = [], relative = false) }}

path 返回给定路由的相对 URL(不包括方案和主机)。如果启用了相对,它将创建一个相对于当前路径的路径。 Linking to Pages 中的更多信息,在您的情况下,/logout 是您的路线,我建议您阅读有关 Routing 的更多信息以了解其组件和目的。

阅读路由以了解有关路由组件Routing 的更多信息。 从 Symfony 2.7 开始你可以使用logout_path

{{ logout_path(key = null) }}

key 是可选的,它的类型是 string logout_path 为给定的防火墙生成一个相对的注销 URL。如果未提供密钥,则会为用户登录的当前防火墙生成 URL。

【讨论】:

    猜你喜欢
    • 2019-06-08
    • 2019-06-07
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多