据我所知,Blade
只是regex
解析器,它将任何Blade
构造转换为PHP
代码,然后HTML
从中生成plain PHP
.似乎这个过程使加载文件的Blade
模板更慢(因为额外的步骤Blade
- > PHP
).如果是这样,为什么我要使用Blade
呢?只是因为优雅的语法或因为Blade
文件存储在cache
?
你使用Blade是因为你想使用Blade.就像你说它有一个更好的语法,一旦你知道它的简单语法,它就会很快使用.
常规PHP:
isLogged()): ?> Welcome back, = $user->name; ?>
刀:
@if ($user->isLogged()) Welcome back, {{ $user->name }} @endif
当然那只是一个基本的控制结构.Blade也提供了模板支持.
两者之间几乎没有速度差异,因为在第一次加载时,Laravel将编译已更改为其PHP等价物的任何视图.后续页面加载将使用此编译文件(它们存储在app/storage/views
).
我想唯一的额外开销是初始检查以查看视图是否已编译.尽管如此.