Inhalt
Die View des MVC-Models
Die View ist dafür verantwortlich, das HTML-Template mit den Content-Daten aus dem Model zu füllen.
MVC Design Pattern: Die View
In diesem Beispiel-CMS gibt es nur eine einzige View, die alle Dateien nach dem selben Schema verarbeitet und die Ergebnisse 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.
Die Template-Engine Smarty oder Twig
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 den 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).
Oliver Lohse
2024-02-12
ein eigenes CMS entwickeln programmieren
post
Kontakt@Oliver-Lohse.de