Как я понимаю, Blade
является просто парсером regex
, который преобразует любую конструкцию Blade
в код PHP
, а затем генерирует plain HTML
из этого PHP
. Похоже, что этот процесс замедляет загрузку файлов с Blade
шаблонами (из-за дополнительного шага Blade
→ PHP
). Если да, то почему я вообще хочу использовать Blade
? Просто из-за элегантного синтаксиса или из-за того, что Blade
файлы хранятся в cache
?
Шаблон Blade vs plain php в Laravel
Ответ 1
Вы используете Blade, потому что хотите использовать Blade. Как вы уже сказали, он имеет более приятный синтаксис, и как только вы знаете его простой синтаксис, он очень быстро используется.
Обычный PHP:
<?php if ($user->isLogged()): ?>
Welcome back, <strong><?= $user->name; ?></strong>
<?php endif; ?>
клинка:
@if ($user->isLogged())
Welcome back, <strong>{{ $user->name }}</strong>
@endif
Конечно, это просто базовая структура управления. Blade также поддерживает поддержку шаблонов.
Speed
Между ними не должно быть практически никакой разницы в скорости, так как при первом загрузке Laravel будет компилировать любые представления, которые были изменены на их эквивалент PHP. Последующие загрузки страницы будут использовать этот скомпилированный файл (они хранятся в app/storage/views
).
Я предполагаю, что только дополнительные накладные расходы были бы начальной проверкой, чтобы увидеть, еще ли скомпилировано представление. Bugger все же.