A renderView metódus saját MVC keretrendszerhez
A renderView metódus fogja megkapni a nézetfájlt
és beilleszti bele a változók értékeit.
Ez ravasz módon történik.
Amint tudják, a nézetfájlban használt változók
a Page osztály objektumának data tulajdonságában
találhatók.
Ezek a változók egy asszociatív tömböt jelentenek.
Ezt a tömböt valódi változókká kell alakítanunk,
majd a include segítségével kell behúznunk
a nézetfájlt.
Ebben az esetben a fájlban elérhető változók
megkapják az értékeiket, és
a kimeneten már csak a HTML kódot kapjuk
a beillesztett változóértékekkel.
Ahhoz, hogy a tömböt változókká alakítsuk,
használjuk a extract speciális függvényt:
<?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); // tömb változókká
include $viewPath; // behúzzuk a nézetfájlt
return ob_get_clean();
}
}
?>