Symfony 2重新加载转换缓存

时间:2016-08-16 10:23:36

标签: symfony translation

我正在使用Symfony2(很快就是3),我们得到了一些存储在数据库中的翻译。 这意味着当我们运行缓存时:清除从数据库中提取的翻译并存储在缓存中(在磁盘上)。 这也意味着用户可以直接在数据库中更改翻译,但这些更改不会立即显示。

有没有办法清除Symfony中的翻译缓存文件?没有刷新整个缓存?

2 个答案:

答案 0 :(得分:2)

我是这样做的

$cacheDir = dirname($this->getParameter('kernel.cache_dir'));

foreach (['prod', 'dev'] as $env) {
    array_map('unlink', glob("$cacheDir/$env/translations/*"));
}

答案 1 :(得分:1)

如果您需要考虑新的翻译文件,只是为了完成已提供的答案,删除Optional中的translations文件夹是不够的。

为此,您还需要删除缓存所有资源和资产文件路径的文件。 其名称取决于环境:cache/appDevDebugProjectContainer.php

所以基于@Atmarama答案:

appProdProjectContainer.php

使用Symfony 3.3.x进行测试。