Шаблон Blade vs plain php в Laravel

Как я понимаю, Blade является просто парсером regex, который преобразует любую конструкцию Blade в код PHP, а затем генерирует plain HTML из этого PHP. Похоже, что этот процесс замедляет загрузку файлов с Blade шаблонами (из-за дополнительного шага BladePHP). Если да, то почему я вообще хочу использовать Blade? Просто из-за элегантного синтаксиса или из-за того, что Blade файлы хранятся в cache?

Ответы

Ответ 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 все же.