如何将服务传递给自己的bundle配置

时间:2015-03-25 18:52:21

标签: symfony

我正在开发一个包,想要为我的服务设置现有的缓存服务(实现Doctrine\Common\Cache\CacheProvider)。现有的服务名称将在bundle的配置中设置:

services:
    cache:
        class: Doctrine\Common\Cache\FilesystemCache
        arguments: ["%kernel.cache_dir%/cache"]

my_bundle:
    cache_provider: cache

当我尝试在$container->get($config['cache_provider']);中使用MyBundleExtension获取此服务时,出现此错误:

The service definition "cache" does not exist.

并且调用$container->has($config['cache_provider']);会返回false

我将@service_container注入我的服务并在其中获取缓存 - 它可以工作。但注射容器并不是一种好的做法。

你有什么想法吗?

0 个答案:

没有答案