Metode renderView untuk Framework MVC Sendiri
Metode renderView akan mengambil file
tampilan dan mengganti nilai-nilai
variabel di dalamnya. Ini dilakukan dengan cara yang pintar.
Seperti yang Anda ketahui, variabel yang digunakan
dalam file tampilan, terkandung dalam properti
data dari objek kelas Page.
Variabel-variabel ini merupakan asosiatif
array. Kita perlu mengubah array ini
menjadi variabel sungguhan, lalu menyertakan
file tampilan melalui include.
Dalam hal ini variabel yang tersedia di
file ini akan mendapatkan nilainya dan
pada keluarannya kita akan mendapatkan kode HTML
dengan nilai variabel yang sudah disubstitusi.
Untuk mengubah array menjadi variabel,
gunakan fungsi khusus 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); // array ke variabel
include $viewPath; // menyertakan file tampilan
return ob_get_clean();
}
}
?>