【问题标题】:Laravel - cache partial view during a foreach loopLaravel - 在 foreach 循环期间缓存部分视图
【发布时间】:2016-09-10 02:18:02
【问题描述】:

如何缓存刀片文件?

示例代码:

@foreach ($files as $file)
   @include('partials.file')
@endforeach

如果有 100 个文件,那么刀片将加载 100 次。有没有办法缓存它或什么?如果部分刀片文件中有查询,可能需要很长时间。

最好的方法是什么?谢谢!

【问题讨论】:

    标签: php laravel caching blade


    【解决方案1】:

    我相信你不必担心刀片模板的缓存,laravel 将刀片模板编译成原始 php 并为其创建一个缓存版本,但这些东西是内部的,担心它没有意义。

    您当然可以找到很多方法,例如我们构建 View()->render() 字符串并将其输出到视图中,看看以下问题

    Elegant way to run nested loops in views (Laravel)

    【讨论】:

      【解决方案2】:

      Blade 编译器缓存每个视图的单个实例。因此,如果您使用 Blade 模板,那么您只需“包含”视图一次。

      确实,使用 PHP 编译器将导致每个 @include 包含一个包含。但是,这确实不太可能对性能造成重大影响。如果您可以提供任何相反的参考,那将是很好的。

      最终,如果您真的担心在模板中包含文件,请将循环内容内联并删除抽象。这样,您的循环包含零包含并且您的问题得到解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        • 2017-12-31
        • 2021-08-30
        • 2021-02-11
        • 2012-03-10
        • 2017-12-24
        • 1970-01-01
        相关资源
        最近更新 更多