Methode renderView für Ihr eigenes MVC-Framework
Die Methode renderView wird die Datei
des Views abrufen und die Werte der Variablen
in sie einsetzen. Dies geschieht auf raffinierte Weise.
Wie Sie wissen, sind die Variablen, die in
der View-Datei verwendet werden, in der Eigenschaft
data des Objekts der Klasse Page enthalten.
Diese Variablen stellen ein assoziatives
Array dar. Wir müssen dieses Array
in echte Variablen umwandeln und dann die
View-Datei über include einbinden.
In diesem Fall erhalten die in dieser
Datei verfügbaren Variablen ihren Wert und
als Ausgabe erhalten wir einfach den HTML-Code
mit den eingesetzten Variablenwerten.
Um das Array in Variablen umzuwandeln,
verwenden wir die spezielle Funktion extract:
<?php
private function renderView(Page $page) {
$viewPath = $_SERVER['DOCUMENT_ROOT'] . "/project/views/{$page->view}.php";
if (file_exists($viewPath)) {
ob_start();
$data = $page->data;
extract($data); // Array in Variablen
include $viewPath; // View-Datei einbinden
return ob_get_clean();
}
}
?>