Teil 5 Die View (MVC)


Die View zeigt die Daten des CMS im Browser-Fenster des Lesers an.

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 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).


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

Oliver Lohse
2024-02-12
ein eigenes CMS entwickeln programmieren
post
Kontakt@Oliver-Lohse.de

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.