Метод renderLayout для своего MVC фреймворка
Давайте теперь сделаем метод renderLayout.
Этот метод будет брать файл лэйаута и подставлять
в него значение переменных $title
и $content (она будет передаваться
параметром метода и будет представлять собой
результат работы метода renderView):
<?php
private function renderLayout(Page $page, $content) {
$layoutPath = $_SERVER['DOCUMENT_ROOT'] . "/project/layouts/{$page->layout}.php";
if (file_exists($layoutPath)) {
ob_start();
$title = $page->title;
include $layoutPath; // тут будут доступны переменные $title и $content
return ob_get_clean();
}
}
?>