View klassi oz MVC freymvorkunda

Indi biz View adli klassi yaradacagıq, hansı ki, melumatların temsil olunması ile mesgul olacaq. O, parametr kimi Page klassının obyektini alacaq, oz neticesi kimi ise ekrana cixarmaq olan hazır HTML sehifə kodunu qaytaracaq.

Gelin View klassını index.php faylında necə istifadə edəcəyimizə baxaq:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // sizin avtomatik yukleme realizasiyanız
  });
  
  $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 klassını belə istifadə edirik
?>

View klassının kod strukturu asagıdakı formada olacaq:

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