Kendi MVC Framework'ümüz için renderView Metodu
renderView metodu, view dosyasını alacak ve
içine değişken değerlerini yerleştirecek.
Bu, akıllıca bir şekilde yapılır.
Bildiğiniz gibi, view dosyasında kullanılan
değişkenler, Page sınıfı nesnesinin
data özelliğinde bulunur.
Bu değişkenler bir ilişkisel dizidir.
Bu diziyi gerçek değişkenlere dönüştürmemiz,
ardından include ile view dosyasını
eklememiz gerekiyor.
Bu durumda, bu dosyada mevcut olan belirtilen
değişkenler kendi değerlerini alacak ve
çıktıda, değişken değerleri zaten yerleştirilmiş
basit bir HTML kodu elde edeceğiz.
Diziyi değişkenlere dönüştürmek için,
extract özel fonksiyonunu kullanırız:
<?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); // diziyi değişkenlere dönüştürür
include $viewPath; // view dosyasını ekleriz
return ob_get_clean();
}
}
?>