我正在开发一个包,想要为我的服务设置现有的缓存服务(实现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
注入我的服务并在其中获取缓存 - 它可以工作。但注射容器并不是一种好的做法。
你有什么想法吗?