renderVie metodo savo MVC karkase
Metodas renderView gaus failą
vaizdo ir pakeis jame kintamųjų
reikšmes. Tai daroma gudriai.
Kaip žinote, kintamieji, kurie naudojami
vaizdo faile, yra pateikiami savybėje
data Page klasės objekto.
Šie kintamieji yra asociatyvus
masyvas. Mums reikia paversti šį masyvą
į tikrus kintamuosius, o tada prijungti
vaizdo failą naudojant include.
Tokiu atveju failo prieinami
kintamieji gaus savo reikšmes ir
išvestyje mes gausime tik HTML kodą jau
su pakeistomis kintamųjų reikšmėmis.
Norėdami paversti masyvą į kintamuosius,
naudokite specialią funkciją 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); // masyvas į kintamuosius
include $viewPath; // prijungiame vaizdo failą
return ob_get_clean();
}
}
?>