我正在使用Symfony2(很快就是3),我们得到了一些存储在数据库中的翻译。 这意味着当我们运行缓存时:清除从数据库中提取的翻译并存储在缓存中(在磁盘上)。 这也意味着用户可以直接在数据库中更改翻译,但这些更改不会立即显示。
有没有办法仅清除Symfony中的翻译缓存文件?没有刷新整个缓存?
答案 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进行测试。