【发布时间】:2016-10-12 15:59:51
【问题描述】:
问题
为什么 winzou(第 3 方)配置不适用于捆绑包中的 config.yml?
它抛出“没有扩展能够加载配置 winzou...”
更新
http://symfony.com/doc/current/cookbook/bundles/prepend_extension.html
看起来这是我想要发生的最终结果 - 被视为添加/附加到应用程序 config.yml。
我可以加载文件并添加它.. 但我觉得 symfony 已经允许为每个包加载额外的配置.. 必须有一种更简单的方法来加载它。
我加载了 winzou 状态机包:
/app/AppKernel.php
new winzou\Bundle\StateMachineBundle\winzouStateMachineBundle(),
然后我从我的包 (OrderBundle) 中加载配置。 /src/OrderBundle/DependencyInjection/OrderExtension.php
class OrderExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('config.yml');
}
}
如果我将状态机配置放入 OrderBundle 配置中: /src/OrderBundle/Resources/config/config.yml
winzou_state_machine:
order_state_machine:
...
抛出异常:
There is no extension able to load the configuration for "winzou_state_machine" (in [...]/OrderBundle/DependencyInjection/../Resources/config/config.yml). Looked for namespace "winzou_state_machine", found none
如果我将状态机配置放在根应用文件夹中就可以了。
/app/config/config.yml
【问题讨论】:
标签: php symfony configuration state-machine