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:

/core/View.php<?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();
    }
  }
?>