在Symfony2中处理类似cms的项目路由的最好方法是什么?


What is the best way to handle routing for CMS-like project in Symfony2

我正在尝试构建一个Symfony2应用程序,具有CMS功能。我有三个实体(在其他实体中)它们是:Page, Category, Post(经典的,是吧?)

我想要以下路由:

Page: /{slug} (slug是Page实体字段)

Category: /{slug} (slug是Category实体字段)

Post: /{slug} (slug是Post实体字段)

然而,这将永远不会工作,因为Symfony2路由器将匹配与/{slug}模式对应的第一个路由。

我想知道处理这种情况的最佳做法是什么。我知道Symfony CMF,但我不想使用这种庞大的工具(因为它包含了太多我不愿意使用的包)。

提前感谢您的回答

你必须使用一个自定义的路由加载器来做到这一点,查看食谱文章:

http://symfony.com/doc/current/cookbook/routing/custom_route_loader.html

CMF项目使用自己的动态路由器,你也可以在没有完整CMF堆栈的情况下使用它:

http://symfony.com/doc/current/cmf/bundles/routing/dynamic.html