MVC 프레임워크에서 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) {
      $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

제시된 View 클래스 코드를 분석해 보세요. 그런 다음, 제 코드를 보지 않고 직접 동일한 클래스를 구현해 보세요. 그 동작을 확인하세요.