Шаблоны в MVC в PHP
Представления, которые мы изучали в предыдущем уроке, на самом деле представляют собой контент страницы. Кроме контента, на странице, как правило, есть еще хедер, сайдбары, футер. Эти части обычно одинаковые на всех страницах сайта.
В нашем фреймворке каждая страница сайта представляет собой один и тот же HTML файл шаблона, к которому для каждой страницы сайта подключается в заданное место контент страницы из представления.
Файл с шаблоном размещается по следующему
пути: /project/layouts/default.php
.
Согласно правилам фреймворка, в этом файле
доступна переменная $content
. В том
месте, где будет выведена эта переменная
и произойдет вставка контента страницы.
По умолчанию этот файл содержит следующий простейший код:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?= $content ?>
</body>
</html>
Разместите в файле с шаблоном вот такой макет сайта:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>тайтл страницы</title>
</head>
<body>
<header>
хедер сайта
</header>
<div class="container">
<aside class="sidebar left">
левый сайдбар
</aside>
<main>
<?= $content ?>
</main>
<aside class="sidebar right">
правый сайдбар
</aside>
</div>
<footer>
футер сайта
</footer>
</body>
</html>
Зайдите на любое действие любого контроллера. Посмотрите, что поменялось.