шаблони Blade
Blade - простий, але потужний шаблонизатор, що входить до складу Laravel. На відміну від інших шаблонизатор, він не обмежує вас у використанні конструкцій PHP всередині шаблонів. Шаблони Blade компілюються в PHP-код і кешуються фреймворком - Blade не вносить додаткових гальм в роботу фреймворка.
Файли шаблони Blade закінчуються на .blade.php і зазвичай знаходяться в папці resources / views.
спадкування шаблонів
визначення лейаута
Two of the primary benefits of using Blade are template inheritance and sections. To get started, let's take a look at a simple example. First, we will examine a "master" page layout. Since most web applications maintain the same general layout across various pages, it's convenient to define this layout as a single Blade view:
Два основних переваги Blade - це спадкоємство шаблонів і секції. Щоб було зрозуміліше, давайте розглянемо простий приклад. Зазвичай, все веб-додатки мають базовий шаблон - він же лейаут, макет. У ньому відбувається підключення css і js, задається базова верстка і в певних місцях підключаються такі частини як хедер (шапка), футер, сайдбар і т.п. Ось він у вигляді шаблону Blade:
Як ви можете бачити, це звичайний HTML з директивами, розставленими в певних місцях. Директива @section визначає деяку секцію контенту. Директива @yield використовується для відображення в заданому місці контенту секції з заданим ім'ям.
Добре, лейаут у нас є, давайте тепер подивимося, що повинна являти собою дочірня сторінка.
розширення лейаута
У контролерах або Рауса ми викликаємо саме дочірні сторінки (вьюха), а вони вже збирають "від низу до верху" (від себе до лейауту) HTML сторінки.
Щоб показати, який саме з лейаутов (їх у нас в додатку може бути кілька) ми будемо використовувати, ми повинні використовувати директиву @extends:
У дочірній сторінці ми задаємо секції, які будемо використовувати в лейауте. Зверніть увагу, що секція sidebar використовує директиву @. що дозволяє не перезаписати секцію sidebar. певну в лейауте, а додати контент до неї.
І, як було зазначено вище, ми звертаємося до дочірньої сторінці за допомогою стандартного хелпера view ():
відображення даних
Для виведення змінної в шаблоні Blade потрібно обернути її в конструкцію>:
Передача змінної в шаблон:
Усередині фігурних дужок ви можете використовувати будь-яку PHP-конструкцію, в тому числі і виклик функції:
Примітка: Конструкція> автоматично застосовує до висновку PHP-функцію htmlentities для запобігання XSS-атак.
Висновок даних з перевіркою на їх існування
Іноді вам потрібно вивести змінну, яка, можливо, не визначена в шаблоні. Щоб не отримати ексепшн "Змінна не визначена", зазвичай ви робите наступне:
Але замість тернарного оператора ви можете писати так:
Якщо змінна $ name не визначена, буде виведений рядок Default.
Висновок неекранованого контенту
За замовчуванням конструкція> прменяются до вмісту PHP-функцію htmlentities. замінюючи виконувані html-теги типу