Blade - простой, но мощный шаблонизатор, входящий в состав Laravel. В отличие от других шаблонизаторов, он не ограничивает вас в использовании конструкций PHP внутри шаблонов. Шаблоны Blade компилируются в PHP-код и кэшируются фреймворком - Blade не вносит дополнительных тормозов в работу фреймворка.
Два основных преимущества Blade - это наследование шаблонов и секции. Чтобы было понятнее, давайте рассмотрим простой пример. Обычно, все веб-приложения имеют базовый шаблон - он же лейаут, макет. В нем происходит подключение css и js, задается базовая верстка и в определенных местах подключаются такие части как хедер (шапка), футер, сайдбар и т.п. Вот он в виде шаблона Blade:
Как вы можете видеть, это обычный HTML с директивами, расставленными в определённых местах. Директива startSection; ?>
определяет некоторую секцию контента. Директива yieldContent; ?>
используется для отображения в заданном месте контента секции с заданным именем.
Хорошо, лейаут у нас есть, давайте теперь посмотрим, что должна представлять из себя дочерняя страница.
В контроллерах или роутах мы вызываем именно дочерние страницы (вьюхи), а они уже собирают "снизу вверх" (от себя к лейауту) HTML страницы.
Чтобы показать, какой именно из лейаутов (их у нас в приложении может быть несколько) мы будем использовать, мы должны использовать директиву :
make(, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
Комментарии