Die View des MVC-Models
Die View ist dafür verantwortlich, das HTML-Template mit den Content-Daten aus dem Model zu füllen, dabei werden die im Template hinterlegten Template-Token durch den Inhalt aus der Beitragsdatei ersetzt. Folglich wird der Template-Token {$title}
mit dem Titel des Artikels aus der Beitragsdatei ausgetauscht.
MVC Design Pattern: Die View
In dieser Version Ihres eigenen Content Management Systems, gibt es lediglich eine einzige View, die alle Dateien, egal ob Beitrag oder Kategorie, nach dem selben Schema verarbeitet und das Ergebnis des Parsings an den Controller zurück gibt, etwa so:
class View
{
public $token_name;
public $token_content;
function display($template)
{
$template = str_replace(
$this->token_name,
$this->token_content,
file_get_contents('templates/'.$template.'.template'));
echo $template;
}
function set($token, $content)
{
$this->token_name[] = $token;
$this->token_content[] = $content;
}
}
Die View
Wie im Controller
beschrieben, wird die View
dort als Objekt instanziert. Die View öffnet das HTML-Template basic.template
und ersetzt die Inhalte {...}
mit den entsprechenden Daten aus dem Model. Für das Mapping von Dateninhalt auf die Template-Tokens, werden die beiden Arrays $token_name
und $token_content
durch den str_replace() ausgetauscht.
In der aktuellen Version des kleinen Beispiel-CMS übernimmt der PHP-Befehl
str_replace()
durch ein cleveres Mapping der beiden Arrays das Parsing der HTML-Token mit dem Dateninhalt. Soll später die sehr populäre Template-Engine Smarty verwendet werden, dann ist genau dies die Stelle, an der diese eingehängt werden sollte. Aber auch die Verwendung der Template-Engine Twig ist ebenfalls leicht möglich. Durch die Verwendung einer externen Template-Engine ist es dann auch möglich, mehr Logik in das Template unterzubringen (sofern dies gewünscht ist).