Өз MVC фреймворкуңуз үчүн renderView методу
renderView методу көрүнүш файлын алып,
анын ичиндеги өзгөрмөлөргө маанилерди
коёт. Бул акылмандык менен жасалат.
Билген сыяктуу, көрүнүш файлында колдонулган
өзгөрмөлөр Page классынын объектисинин
data касиетинде сакталат.
Бул өзгөрмөлөр ассоциативдик массив
түрүндө. Бизге бул массивди чыныгы
өзгөрмөлөргө айландырып, андан кийин
көрүнүш файлын include аркылуу
кошуу керек.
Бул учурда файлда кол жеткиликтүү болгон
көрсөтүлгөн өзгөрмөлөр өз маанилерин алып,
натыйжада биз өзгөрмөлөргө маанилер
коюлган жөн гана HTML кодун алабыз.
Массивди өзгөрмөлөргө айландыруу үчүн,
extract атайын функциясын колдонобуз:
<?php
private function renderView(Page $page) {
$viewPath = $_SERVER['DOCUMENT_ROOT'] . "/project/views/{$page->view}.php";
if (file_exists($viewPath)) {
ob_start();
$data = $page->data;
extract($data); // массивди өзгөрмөлөргө айландыруу
include $viewPath; // көрүнүш файлын кошуу
return ob_get_clean();
}
}
?>