View-klas in jou eie MVC-raamwerk

Nou gaan ons die klas View maak, wat verantwoordelik sal wees vir die aanbieding van data. Dit sal 'n instansie van die klas Page as parameter ontvang, en as resultaat die voltooide HTML-kode van die bladsy teruggee, wat op die skerm vertoon kan word.

Kom ons kyk hoe ons die klas View gaan gebruik in die lêer index.php:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // jou implementasie van outolading
  });
  
  $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); // dis hoe ons die View-klas gebruik
?>

Die struktuur van die View-klas se kode sal die volgende vorm hê:

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