Документация/Шаблоны/Стандартные шаблоны

Стандартные шаблоны

View или Вид (еще называемый Представление) — это составная часть архитектурного паттерна MVC (Action-Domain-Responder для веб).

Шаблоны хранят в себе структуру ответа, который будет отправлен в браузер. Часто это HTML-код содержащий PHP-переменные, определённые извне шаблона.
Шаблоны можно вставлять в другие шаблоны.

Импорт одних шаблонов в другие производится во фреймворке через специальные функции.

Функция view() для вставки шаблона из маршрута или контроллера предназначена для шаблонов с расширением .php или .twig. При использовании TWIG вам не понадобятся стандартные функции фреймворка для вставки шаблонов в шаблоны и их кеширования, так как TWIG предоставляет собственные средства.


#Функция insertTemplate()

Части кода в подключаемых файлах папки /resources/views/ могут повторяться. Чтобы вынести их в отдельный шаблон, независимый от окружающего контента, используется функция insertTemplate(), первым аргументом которой указывается название шаблона из папки /resources/views/, а вторым - массив переменных, которые будут доступны в шаблоне по ключам массива. Для отличия шаблонов от других файлов их рекомендуется разместить в отдельной папке /templates/.

Пример того, как в шаблон /resources/views/content.php вставляется другой шаблон /resources/views/templates/counter.php, используя часть данных из первого.

<?php
// File /resources/views/content.php

/**
 * @var $title string
 * @var $total int
 * @var $unique int
 */
echo "<h1>$title</h1>";

insertTemplate('templates/counter', ['totalVisitors' => $total'uniqueVisitors' => $unique]);
<?php
// File /resources/views/templates/counter.php

/**
 * @var $totalVisitors int
 * @var $uniqueVisitors int
 */
?>
<div class="metrics">
    <div>Total: <?= $totalVisitors?></div>
    <div>Unique: <?= $uniqueVisitors?></div>
</div>

#Функция template()

Вспомогательная функция template() аналогична insertTemplate(), только возвращает содержимое шаблона в виде строкового представления, а не выводит его в том месте, где определена.

Модели Кешируемые шаблоны

Страница создана: @fomiash
К началу страницы