在我的Symfony应用程序中启用AppCache
时,突然注入的任何ApcCache
被AppCache
实例替换,产生:
传递给MyClass :: __ construct()的参数必须是Doctrine \ Common \ Cache \ ApcCache的实例,给出的AppCache实例
注射通过以下方式进行:
services:
my_class:
class: MyClass
arguments:
- @cache
cache:
class: Doctrine\Common\Cache\ApcCache
这看起来很奇怪。关于如何解决这个问题的任何建议都将非常感激。
答案 0 :(得分:0)
根据之前的回复和我的分析,似乎在使用http缓存($ kernel = new AppCache($ kernel);在app.php中)时,Symfony会创建一个@cache变量,它是AppCache的一个实例。它将覆盖您创建的@cache变量。因此,您的变量的名称不同,如:
services:
my_class:
class: MyClass
arguments:
- @apc_cache
apc_cache:
class: Doctrine\Common\Cache\ApcCache
这似乎是Symfony3.0.3的错误