Blade template vs plain php in Laravel

2022-08-30 20:37:17

据我所知,它只是解析器,它将任何构造转换为代码,然后从中生成 plain 。似乎此过程使使用模板加载文件的速度变慢(因为额外的步骤->)。如果是这样,我为什么要使用?只是因为优雅的语法或因为文件存储在?BladeregexBladePHPHTMLPHPBladeBladePHPBladeBladecache


答案 1

你会使用 Blade,因为你想使用 Blade。就像你说的,它有一个更好的语法,一旦你知道它的简单语法,它就可以非常快速地使用。

普通菲律宾比索:

<?php if ($user->isLogged()): ?>
    Welcome back, <strong><?= $user->name; ?></strong>
<?php endif; ?>

叶片:

@if ($user->isLogged())
    Welcome back, <strong>{{ $user->name }}</strong>
@endif

当然,这只是一个基本的控制结构。Blade还内置了模板支持。

速度

两者之间实际上应该没有速度差异,因为在第一次加载时,Laravel会编译任何已更改为PHP等效项的视图。后续页面加载将改用此已编译文件(它们存储在 )。app/storage/views

我想唯一的额外开销是初始检查视图是否已编译。不过是窃听器。


答案 2

推荐