Kendi MVC Framework'ümüzde View Sınıfı

Şimdi veri temsilinden sorumlu olacak View sınıfını oluşturacağız. Parametre olarak Page sınıfının bir nesnesini alacak ve sonuç olarak ekranda görüntülenmek üzere hazır HTML sayfa kodunu döndürecek.

View sınıfını index.php dosyasında nasıl kullanacağımıza bakalım:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // otomatik yükleme implementasyonunuz
  });
  
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
  
  $track = ( new Router($routes) ) -> getTrack($_SERVER['REQUEST_URI']);
  $page  = ( new Dispatcher )      -> getPage($track);
  
  echo (new View) -> render($page); // View sınıfını işte böyle kullanıyoruz
?>

View sınıfının kod yapısı aşağıdaki gibi olacaktır:

/core/View.php<?php
  namespace Core;
  
  class View
  {
    public function render(Page $page) {
      return $this->renderLayout($page, $this->renderView($page));
    }
    
    private function renderLayout(Page $page, $content) {
      
    }
    
    private function renderView(Page $page) {
      
    }
  }
?>