Öz MVC çärýeginiň renderVie metodu
renderView metody görnüş faýlyny alyp,
onyň içine üýtgeýänleriň bahalaryny goýar.
Bu hiçili bir ýol bilen edilýär.
Bilşiňiz ýaly, görnüş faýlynda ulanylýan
üýtgeýänler, Page klasynyň objectiniň
data hossusylygynda saklanýar.
Bu üýtgeýänler assosiativ massiw bolup durýar.
Biz bu massiwy hakyky üýtgeýänlere öwürmeli,
soňra include arkaly görnüş faýlyny
birleşdirmelidiris.
Bu ýagdaýda, bu faýlda elýeterli görkezilen
üýtgeýänler öz bahalaryny alyp we
çykyşda biz diňe ýerleşdirilen üýtgeýän
bahalary bilen HTML kody alyarys.
Massiwy üýtgeýänlere öwürmek üçin,
ýörite extract funksiýasyny ulanyarys:
<?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); // massiw üýtgeýänlere
include $viewPath; // görnüş faýlyny birleşdirýäris
return ob_get_clean();
}
}
?>