Введение в Blade в Laravel
В данном разделе мы начнем изучать шаблонизатор Blade, встроенный в Laravel. Этот шаблонизатор предоставляет нам набор специальных команд - директив, которые мы можем использовать в файлах представлений.
Зачем вообще нужен отдельный шаблонизатор? Дело в том, что смешивать HTML и PHP код - плохая практика. Когда разметка страницы переплетена с логикой, файл становится трудно читать и править. Верстальщику сложно работать с таким кодом, а программисту легко запутаться среди тегов и конструкций PHP.
Посмотрим, как это выглядит в обычном PHP без Laravel. Пусть у нас есть массив пользователей, и мы хотим вывести их списком:
<?php
$users = ['John', 'Jane', 'Jim'];
?>
<ul>
<?php foreach ($users as $user): ?>
<li><?php echo $user; ?></li>
<?php endforeach; ?>
</ul>
HTML и PHP здесь идут вперемешку: то
открываются теги разметки, то снова
вставляются блоки <?php ... ?>.
Для короткого примера это терпимо,
но в реальном проекте такие файлы
быстро превращаются в запутанную
«лапшу» из кода.
Шаблонизатор решает эту проблему. Он позволяет писать HTML почти как обычную разметку, а для PHP использовать короткие и понятные команды. Тот же список пользователей в Blade выглядел бы так:
<ul>
@foreach ($users as $user)
<li>{{ $user }}</li>
@endforeach
</ul>
Здесь HTML читается с первого взгляда, а логика вывода описана директивами Blade. Именно так Laravel предлагает строить представления.
Данные для этих команд обычно приходят
из действия контроллера через второй
параметр функции view. В следующих
уроках мы будем сначала показывать,
что передается из контроллера, а затем -
как это выводится командами Blade.
Таким образом мы можем избежать смешения HTML и PHP кода, а также получить дополнительные возможности: условия, циклы, экранирование и другое.