View კლასი საკუთარ MVC ფრეიმვორქში

ახლა ჩვენ შევქმნით 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) {
    // თქვენი რეალიზაცია ავტოადგენის
  });
  
  $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) {
      
    }
  }
?>