Klasse View in je eigen MVC-framework
Nu gaan we de klasse View maken,
die verantwoordelijk zal zijn voor de weergave van gegevens.
Hij zal als parameter een object van de klasse
Page ontvangen, en als resultaat zal hij
de gereed HTML-code van de pagina teruggeven, die
op het scherm getoond kan worden.
Laten we kijken hoe we de klasse
View zullen gebruiken in het bestand index.php:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// jouw implementatie van 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); // zo gebruiken we de klasse View
?>
De structuur van de code van de klasse View zal
het volgende formaat hebben:
<?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) {
}
}
?>