【问题标题】:Extending parent routing when extending bundles扩展捆绑包时扩展父路由
【发布时间】:2011-11-27 16:56:54
【问题描述】:

在 Symfony2 (2.0.3) 中,我有一个 BetaBundle,它被设置为 AlphaBundle 的父级。是否可以覆盖某些路由,同时仍保留父原始路由定义?

我尝试在子 routing.yml 文件中导入父 routing.yml,但它自然会导致 circular reference 异常。

是否有任何标准方法可以在同一相对路径中使用 yml 和名为 routing.yml 的文件来实现这一点?

【问题讨论】:

  • 将整个路由文件复制到您的子包并仅覆盖您要覆盖的路由是否有问题?
  • 我希望有一个更优雅的解决方案。实际上,这并没有那么糟糕,但我很高兴看到另一种解决方案。

标签: symfony


【解决方案1】:

当您覆盖您的 AlphaBundle 时,任何使用 @AlphaBundle 快捷方式的东西都会首先在 @BetaBundle 中查找。我发现解决此类问题的唯一方法是使用 @ 快捷方式退出扩展包 (BetaBundle),并使用其路径包含 AlphaBundle 的路由。

作为替代方案,您可以尝试重命名 BetaBundle 的路由文件,使其不会覆盖 AlphaBundle 的文件,然后配置您的 app/config/routing.yml 以包含您的 BetaBundle 重命名的路由文件。

【讨论】:

    猜你喜欢
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 2013-11-24
    • 2018-11-06
    • 1970-01-01
    • 2020-01-27
    相关资源
    最近更新 更多