[英]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
基本上,它所做的就是获取刀片文件,并将包含和屈服放在一个刀片文件中,没有包含也没有屈服。
所有 Blade 视图都被编译成普通的 PHP 代码并缓存,直到它们被修改,这意味着 Blade 对您的应用程序的开销基本上为零
我想如果你不篡改你的缓存配置,上面的语句就直截了当。
换句话说,不要害怕充分利用刀片模板引擎。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.