Усули renderView барои MVC framework-и худ
Усули renderView файли намоишро гирифта
ва ба он қиматҳои тағирёбандаҳоро мегузорад.
Ин бо тарзи мураккаб анҷом дода мешавад.
Чунон ки шумо медонед, тағирёбандаҳое, ки истифода мешаванд
дар файли намоиш, дар хосияти data-и объекти синфи Page
даромадаанд.
Ин тағирёбандаҳо массивҳои ассотсиатсиониро ташкил медиҳанд.
Мо бояд ин массивро ба тағирёбандаҳои воқеӣ табдил диҳем,
пас файли намоишро тавассути 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();
}
}
?>