Meetod renderVie oma MVC raamistikule
Meetod renderView saab vaatefaili
ja asendab selles muutujate väärtused.
See tehakse kavalal viisil.
Nagu te teate, muutujad mida kasutatakse
vaatefailis, sisalduvad omaduses
data objekti klassist Page.
Need muutujad esindavad assotsiatiivset
massiivi. Peame selle massiivi muutma
päris muutujateks ja seejärel ühendama
vaatefaili läbi include.
Sellisel juhul muutujad mis on saadaval selles
failis saavad oma väärtused ja
väljundiks saame lihtsalt HTML koodi juba
muutujate asendatud väärtustega.
Selleks, et muuta massiiv muutujateks,
kasutame spetsiaalset funktsiooni 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); // massiiv muutujateks
include $viewPath; // ühendame vaatefaili
return ob_get_clean();
}
}
?>