Classe View dans son propre framework MVC

Maintenant, nous allons créer la classe View, qui sera responsable de la présentation des données. Elle recevra en paramètre un objet de la classe Page, et retournera comme résultat le code HTML prêt de la page, qui pourra être affiché à l'écran.

Voyons comment nous allons utiliser la classe View dans le fichier index.php:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // votre implémentation de l'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); // voici comment nous utilisons la classe View
?>

La structure du code de la classe View aura l'aspect suivant :

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