我想按照http://symfony.com/doc/current/cookbook/routing/custom_route_loader.html中的说明创建自定义路由加载器。 我要做的是从xml文件中读取路径(不是" symfony xml"格式)并创建相应的路由集合。但是我想使用' @& #39; directive.as in:
xmlRoutes:
resource: '@FooBarBundle/Resources/routes.xml'
但是为了解决routes.xml的路径,我需要' file_locator'来自container的服务。是否可以访问自定义路由器类中的服务。如果没有,我如何创建symfony \ Component \ Config \ FileLocator来解析该路径?
答案 0 :(得分:0)
是的,您可以访问file_locator
,因为它是service。您需要做的是让您的custom_route_loader
服务本身(我不会阅读您链接的食谱,但我很确定他们会建议将其定义为服务)并注入{{1}服务到它。
所以基本上你会做像
这样的事情file_locator
进入CustmRouteLoaderClass
#config.yml
[...]
services:
yourbundlename.custom_route_loader:
class: Path\To\Your\Bundle\CustomRouteLoader
arguments: [ @file_locator ]