Mã nguồn hoàn chỉnh của lớp View trong MVC framework tự xây dựng

Hãy tổng hợp toàn bộ mã nguồn của chúng ta lại với nhau:

/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) {
      $layoutPath = $_SERVER['DOCUMENT_ROOT'] . "/project/layouts/{$page->layout}.php";
      
      if (file_exists($layoutPath)) {
        ob_start();
          $title = $page->title;
          include $layoutPath;
        return ob_get_clean();
      }
    }
    
    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);
          include $viewPath;
        return ob_get_clean();
      }
    }
  }
?>
Задание 1

Hãy phân tích mã nguồn của lớp View được cung cấp. Sau đó, tự mình thực hiện một lớp tương tự mà không xem mã của tôi. Kiểm tra hoạt động của nó.