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;
Run Code Online (Sandbox Code Playgroud)
我认为你应该照顾“routing.loader”依赖注入标签它让你定义一个类来用你的逻辑定义路由
http://symfony.com/doc/current/reference/dic_tags.html#routing-loader
我认为您还可以在包中定义 dependencyInjection 扩展。在您的加载方法中,您可以更改容器定义以及您的路线。
归档时间: |
|
查看次数: |
2959 次 |
最近记录: |