路由器
编辑该页面路由器
欢迎在快速浏览的第三部分。做得好,这么远!这是一件好事,您将了解本章的骨干CMF:路由器。
CMF的支柱
路由器是核心CMF。要理解这一点,让我们看看一个CMS试图做什么。在正常的Symfony应ob娱乐下载用程序中,一个路由指的是一个控制器,可以处理一个特定的实体。另一条路线是指另一个控制器,可以处理另一个实体。这种方式,一个途径是绑定到一个控制器。事实上,使用Symfony的核心也限制ob娱乐下载了这种模式。
但如果你看看CMS的基地,它只需要处理一个类型的实体:内容。所以大部分的航线不需要绑定到一个控制器了,只需要一个控制器。路线必须绑定到一个特定的内容对象,在其一侧,可能需要一个特定的模板和控制器。
CMF的其他部分也与路由器。两个例子:菜单是由生成特定的路线使用路由器和块显示特定路线(与他们相关的模板)。
加载路线从PHPCR树
在第一章中,您已经了解到,路线从数据库加载使用一个特殊的dynamicroute
。这种方式,并不是所有的路线需要加载每个请求。
从PHPCR匹配路线简单:路由器需要请求路径和路径查找文档。一些例子:
1 2 3 4 5 6 7 8
/ cms /线路/ en # # /途中/公司/ en /线路/团队# / en /公司/团队路线/关于# / en /线路/ de # / de路线/ ueber # /德/ ueber路线
好的,你明白了吗?路由器必须做的唯一的事是前缀的路线与特定的路径前缀和加载文档。在RoutingBundle的情况下,所有线路都是前缀/ cms /路线
。
你看到这样的路线/公司/团队
由两个“路径单位”,PHPCR树中有两个文件:公司
和团队
。
创建一个新的路线
现在你知道路由的基本知识,你可以添加一个新的路由树使用原则:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31
/ / src / AppBundle DataFixtures / PHPCR / LoadQuickTourData.php名称空间AppBundle\DataFixtures\PHPCR;使用学说\常见的\持久性\ObjectManager;使用学说\常见的\DataFixtures\FixtureInterface;使用学说\常见的\DataFixtures\OrderedFixtureInterface;使用学说\ODM\PHPCR\DocumentManager;使用PHPCR\跑龙套\NodeHelper;使用ob娱乐下载\Cmf\包\RoutingBundle\学说\Phpcr\路线;类LoadQuickTourData实现了FixtureInterface,OrderedFixtureInterface{公共函数负载(ObjectManager美元documentManager){/ /静态内容从模型章,导致美元的内容被定义/ /……美元routesRoot=美元documentManager- >找到(零,“/ cms /路线”);美元路线=新路线();/ /设置routesRoot美元作为父节点名“新路线”,/ /这是等于:/ / $路线- > setName(“新路线”);/ / $路线- > setParentDocument ($ routesRoot);美元路线- >setPosition (美元routesRoot,“新路线”);美元路线- >setContent (美元内容);美元documentManager- >persist (美元路线);/ /把美元路线在队列中美元documentManager- >冲洗();/ /保存它}}
现在执行的原则:phpcr:夹具:负载
再次命令。
这将创建一个新节点/ cms /线路/新路线
,这将显示我们的quick_tour
当你去的页面/新路线
。
链接多个路由器
通常,您希望使用的dynamicroute
可编辑的路线,但也从Symfony的静态路由文件为您的自定义逻辑。ob娱乐下载能够做到这一点,CMF提供了ChainRouter
。这个路由器尝试每个注册第一路由器,路由器和停止返回一个匹配。
默认情况下,ChainRouter
覆盖Symfony路由器,只ob娱乐下载有核心路由器和动态链。您可以添加更多的路由器配置或通过标记的连锁路由器服务cmf_routing.router
。
最终的想法
你现在达到了本文的最后,你能说你真的知道Symfony CMF的基础。ob娱乐下载首先,您已经了解了请求流和迅速学会了在这一过程中每一个新的一步。之后,您已经了解了更多关于默认存储层和路由系统。
创建路由系统与一些开发商从Drupal 8。事实上,Drupal 8使用Symfony CMF的路由组件。ob娱乐下载