我试图将完整的页面视图存储到缓存中,但是"不允许"序列化'关闭'的错误"发生了.在控制器中我的代码是这样的:
$view = Cache::remember('articles_index', 5, function () {
return view('template.blade.php'); // this is some rendered html string
});
Run Code Online (Sandbox Code Playgroud)
我不知道原因,所以试图谷歌它找出来,但谷歌的结果并不完全是我想要的......过了一会儿我找到了一个临时的解决方案.
$view = Cache::remember('articles_index', 5, function () {
return htmlspecialchars(view('template.blade.php'));
});
Run Code Online (Sandbox Code Playgroud)
这种缓存方式有效,但它可能会破坏html的某些部分.仍在努力寻找完美的解决方案......
这个问题可能会多次更新......
您的第一个示例是尝试缓存View对象,而不是HTML(字符串).需要渲染视图,转换为字符串输出.
(string) view(...)或者view(...)->render() 会给你一个字符串.
当您从路线返回视图时,Laravel知道为您渲染它们.
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |