View klase savā MVC framewordkā

Tagad mēs izveidosim klasi View, kura nodarbosies ar datu attēlošanu. Tā kā parametru saņems klases Page objektu, un par savu rezultātu atgriezīs gatavu lapas HTML kodu, kuru varēs izvadīt uz ekrāna.

Apskatīsim, kā mēs izmantosim klasi View failā index.php:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // jūsu autoload implementācija
  });
  
  $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); // lūk, kā izmantojam View klasi
?>

Klases View koda struktūra būs šāda:

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