是否可以暂时忽略Laravel Lang缓存?

时间:2015-03-17 09:38:27

标签: laravel laravel-5

我构建了一个有趣的翻译系统,可以读取我应用中的所有trans() / Lang::get()个来电,并将它们与当前翻译一起呈现在resources/lang的本地化文件中,这样就可以了管理员用户可以输入新的翻译,动态更新单个本地化文件。

一切都按预期工作,但有一个小烦恼:每次发送表单并更新本地化文件时,页面都会重新加载(通过redirect()->route()调用,而不是redirect()->back() }),但大部分时间,即使文件已正确更新,它仍会显示旧信息。

如果我刷新,则更改会在0.5-5秒后显示,这使我认为这是一个缓存问题。所以问题是:我可以在翻译系统中触发语言缓存忽略,还是有另一种和/或更智能的方式?我确实试过睡了几秒钟,但它让用户体验有点糟糕。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

我在控制器中添加了睡眠和信息,以便从js中额外刷新页面。

sleep(2);
return back()->with("refresh","yes");

然后在我看来:

@if (session('refresh'))
<script>
    location.reload(true);
</script>
@endif

我知道这是一个愚蠢的解决方案,但它确实有效。如果有人知道更好的方法,请写下评论。