doctrine:
orm:
metadata_cache_driver:
type: xcache
namespace: %foobar%
嗨,我想通过像%foobar%这样的参数设置doctrine缓存命名空间。参数%foobar%将通过compilerPass
设置class FoobarCompiler implements CompilerPassInterface {
public function process(ContainerBuilder $container) {
$container->setParameter('foobar', uniqid());
}
}
并且此compilerPass通过以下方式在bundle类中注册:
public function build(\Symfony\Component\DependencyInjection\ContainerBuilder $container) {
$container->addCompilerPass(new \FQNS\Compiler\FoobarCompiler());
}
但是我收到了这个错误:
[Symfony的\元器件\ DependencyInjection \异常\ ParameterNotFoundException] 您已请求不存在的参数“foobar”。
任何想法如何通过此参数“foobar”设置doctrine缓存命名空间?
greez&谢谢, 天空...
答案 0 :(得分:2)
答案就是这个片段:
class FoobarExtension extends Extension implements PrependExtensionInterface {
...
public function prepend(ContainerBuilder $container) {
$container->setParameter('foobar', uniqid());
}
}
添加“PrependExtension接口”界面非常重要!
greez& thx,sky ...