Η Κλάση View στο δικό σας MVC πλαίσιο
Τώρα θα δημιουργήσουμε την κλάση View,
η οποία θα ασχολείται με την παρουσίαση των δεδομένων.
Θα λαμβάνει ως παράμετρο ένα αντικείμενο της κλάσης
Page, και ως αποτέλεσμά της θα επιστρέφει
έναν έτοιμο κώδικα HTML της σελίδας, ο οποίος μπορεί
να εμφανιστεί στην οθόνη.
Ας δούμε πώς θα χρησιμοποιήσουμε την κλάση
View στο αρχείο index.php:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// η υλοποίηση της αυτόματης φόρτωσης σας
});
$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
?>
Η δομή του κώδικα για την κλάση View θα έχει
την ακόλουθη μορφή:
<?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) {
}
}
?>