Symfony 2软件包具有很好的自动加载/扩展应用程序配置文件的功能,例如services.yml。但是,路由不是这样,因为我必须手动编辑应用程序的routing.yml,以便从我的Bundle(Controller或routing.yml本身)加载路由数据。
是否可以无缝地加载此类路由配置?
----编辑
我最终做到了这一点,但它很丑陋地说:
<?php
use Symfony\Component\Routing\RouteCollection;
$collection = new RouteCollection();
foreach (glob(__DIR__.'/../../src/Vendor/MySystem/Plugins/*Bundle/Controller/', GLOB_ONLYDIR) as $controller) {
$controller = str_replace(__DIR__.'/../../src/Vendor/MySystem/Plugins/', '', $controller);
$collection->addCollection($loader->import("@$controller"));
}
return $collection;
答案 0 :(得分:2)
我认为你应该照看“routing.loader”依赖注入标记 它允许您定义一个类来定义具有逻辑的路径
http://symfony.com/doc/current/reference/dic_tags.html#routing-loader
我认为您还可以在捆绑包中定义dependencyInjection扩展。 在load方法中,您可以更改容器定义以及路径..