在我的 service.yml
中cache:
class: Doctrine\Common\Cache\PhpFileCache
arguments: [%kernel.cache_dir%]
在我的控制器
中$cache = $this->get('cache');
if ($cache->fetch($cache_key) != NULL) {
// mycode
}
我的 SilencedError 是
1-include(\ app \ cache \ dev \ 30 \ 446f637472696e654e616d65737061636543616368654b65795b5d.doctrinecache.php):无法打开流:没有这样的文件或目录
答案 0 :(得分:0)
您正在尝试获取条目而不检查它是否存在。在获取条目之前使用$cache->contains($cache_key)
。
当PhpFileCache
类扩展FileCache扩展CacheProvider时,您应检查类以查找可用于创建和检索缓存条目的函数:
/**
* {@inheritdoc}
*/
public function fetch($id)
{
...
}
/**
* {@inheritdoc}
*/
public function fetchMultiple(array $keys)
{
...
}
/**
* {@inheritdoc}
*/
public function saveMultiple(array $keysAndValues, $lifetime = 0)
{
...
}
/**
* {@inheritdoc}
*/
public function contains($id)
{
...
}
/**
* {@inheritdoc}
*/
public function save($id, $data, $lifeTime = 0)
{
...
}