我正在构建一个捆绑包,它依赖于另一个捆绑包。父包加载了services.yml文件,该文件定义了一些参数:
.symtab
我知道 xbundle.doctrine.factory 参数可以从 app / config / config.yml 更改,但我想在我的自定义中更改其值儿童捆绑。我read the docs,以及建议的stackoverflow问题,但仍然无法确定如何实现它。
答案 0 :(得分:2)
您必须在子Bundle中编写CompilerPass,并更改值:
// src/Acme/DemoBundle/DependencyInjection/Compiler/OverrideServiceCompilerPass.php
namespace Acme\DemoBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class OverrideServiceCompilerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
$container->setParameter('xbundle.doctrine.factory', '..New Value ...');
}
}
一些文档here。