Symfony2:清除代码中的前端缓存

时间:2014-03-18 09:48:10

标签: symfony caching internationalization

我正在构建一个应用程序,其中翻译字符串从messages.en.yml加载并解析为用户可编辑的表单。提交表单后,它会将所有数据写入messages.en.yml,这样用户就可以完全控制i18n个字符串。

这在dev环境中就像一个魅力,但在prod中,.yml文件被缓存。我想在进行更改时清除前端/配置缓存,以便可以看到更改。

信不信由你,但谷歌没有给出任何关于如何以编程方式清除缓存的可行结果。我不想删除所有缓存,因为这样做会将用户注销掉。有线索吗?

1 个答案:

答案 0 :(得分:0)

这不是最漂亮的解决方案,但这是我用来破坏我的缓存的。使用Symfony\Component\Yaml\Dumper

将新内容写入文件后调用此方法
// Bust cache
$fs->remove(sprintf('%s/translations/catalogue.%s.php', $this->kernel->getCacheDir(), $this->getLocale()));