คลาส View ใน MVC Framework ของตัวเอง

ตอนนี้เราจะสร้างคลาส View, ซึ่งจะรับผิดชอบในการแสดงผลข้อมูล มันจะรับพารามิเตอร์เป็นอ็อบเจกต์ของคลาส Page และผลลัพธ์ของมันจะส่งคืน โค้ด HTML ของหน้าที่พร้อมแล้ว ซึ่งสามารถ แสดงผลบนหน้าจอได้

มาดูกันว่าเราจะใช้คลาส View ในไฟล์ index.php อย่างไร:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // การดําเนินการ autoload ของคุณ
  });
  
  $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
?>

โครงสร้างโค้ดของคลาส View จะมี ลักษณะดังต่อไปนี้:

/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) {
      
    }
  }
?>