Klasse View in je eigen MVC-framework

Nu gaan we de klasse View maken, die verantwoordelijk zal zijn voor de weergave van gegevens. Hij zal als parameter een object van de klasse Page ontvangen, en als resultaat zal hij de gereed HTML-code van de pagina teruggeven, die op het scherm getoond kan worden.

Laten we kijken hoe we de klasse View zullen gebruiken in het bestand index.php:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // jouw implementatie van autoloading
  });
  
  $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); // zo gebruiken we de klasse View
?>

De structuur van de code van de klasse View zal het volgende formaat hebben:

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