繁体   English   中英

Laravel 刀片性能

[英]Laravel blades performance

我正在使用 laravel 刀片文件,我想知道这种方法是否会降低我的网站速度。 这是我的文件结构:

show.blade.php 文件:

<div class="table-sections">
   ...
   @include('elements/table',['name' => 'table1','blocks' => $blocks1])
   ...
   @include('elements/table',['name' => 'table2','blocks' => $blocks2])
   ...
</div>

table.blade.php 文件:

...
@foreach($blocks as $block)
   ...
   @foreach($block['sections'] as $section)
      ...
      @foreach($section['rows'] as $row)
          ...
          @include('elements/row','row' => $row)
          ...
      @endforeach
      ...
   @endforeach
   ...
@endforeach
...

row.blade.php 文件:

...
@foreach($row['attributes'] as $attribute)
   ...
   // Making the '<td>' elements with their respective attributes and html
   ...
@endforeach
...

我有很多嵌套的“foreach”块控制部分,所以我想知道在这种情况下是否最好不使用刀片(例如对于 row.blade.php 文件)

你有什么建议?

过多的嵌套,在 Laravel 中确实是一种不好的做法。 我们试图使我们的代码干净,但这有时会导致性能权衡。 这就是为什么我最终决定创建一个小型库,在生产时将刀片变平,从而将性能提高 10 倍。

从这里尝试: https : //packagist.org/packages/te-cho/compile-blades

基本上,它所做的就是获取刀片文件,并将包含和屈服放在一个刀片文件中,没有包含也没有屈服。

根据Laravel 官方文档

所有 Blade 视图都被编译成普通的 PHP 代码并缓存,直到它们被修改,这意味着 Blade 对您的应用程序的开销基本上为零

我想如果你不篡改你的缓存配置,上面的语句就直截了当。

换句话说,不要害怕充分利用刀片模板引擎。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM