Laravel 视图缓存是如何工作的?
Posted
技术标签:
【中文标题】Laravel 视图缓存是如何工作的?【英文标题】:How does Laravel Views Cache works? 【发布时间】:2017-01-05 16:42:11 【问题描述】:根据 Laravel 的文档 (https://laravel.com/docs/5.3/blade#introduction),视图被编译成普通的 php 代码并被缓存,直到它们被修改,但什么时候重新编译?
我的项目在生产环境中,当我部署更改时会自动显示,我不需要清除视图缓存或类似的东西。
视图是否会自动重新编译(在这种情况下,什么时候发生?)还是我没有启用缓存?
【问题讨论】:
【参考方案1】:默认所有视图都是compiled/cached
。您可以在app/config/view.php
中定义存储编译版本的路径。当 Laravel 框架尝试编译视图时,它会检查源视图文件的修改日期和编译版本(如果最后一个存在)。如果编译后的文件比源文件旧,Laravel 会重新编译视图并将其存储为源文件的新缓存版本。每次部署新版本的代码时都会发生这种情况。
【讨论】:
你知道这个日期比较的确切位置(文件和行)吗? 我猜这里是 \Illuminate\View\Compilers\Compiler::isExpired @Alan 缓存视图文件后......视图资源不再使用(在生产中)? 你知道方法\Illuminate\View\Compilers\Compiler::isExpired什么时候调用吗?以上是关于Laravel 视图缓存是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 视图显示在一台服务器上的缓存中,但在另一台服务器上工作正常
如何在子目录 Laravel 中正确配置 htaccess?
未找到 InvalidArgumentException 视图 [layouts.app]。 Laravel-8 LiveWire-2