Teil 4 Das Model


Wie gehts mit dem eigenen CMS weiter? Was kann verbessert werden und welche Ausbauoptionen gibt es noch?

Das Model bleibt unverändert

Da die Klasse Model.php die Aufgabe hat auf die physikalischen Daten des Seiteninhalts, in Ihrem eigenen CMS zuzugreifen, kommt es mit der Template-Engine Smarty nicht in Berührung, daher ist der Code fast unverändert geblieben. Als einzige Änderung wurde das Feld Template mit aufgenommen, denn dies soll zukünftig berücksichtig werden.

class Model
{
    public $logo;
    public $title;
    public $content;
    public $description;
    public $template;

    function __construct($url)
    {
        $this->pd          = new Parsedown();

        $file_content      = file_get_contents($url);
        $this->logo        = Dipper::parse(explode('–––', $file_content)[1])['Logo'];
        $this->title       = Dipper::parse(explode('–––', $file_content)[1])['Title'];
        $this->description = Dipper::parse(explode('–––', $file_content)[1])['Description'];
        $this->template    = Dipper::parse(explode('–––', $file_content)[1])['Template'];
        $this->content     = $this->pd->text(explode('–––', $file_content)[2]);
    }

    function __get($value)
    {
        return $this->$value;
    }

    function __set($key, $value)
    {
        return $this->$key = $value;
    }
}

Code des Model ist unverändert

Auch wenn die Klasse im ersten Teil schon beschirben wurde, hier noch einmal eine grobe Zusammenfassung - der Dateiinhalt wird mit file_get_contents($url) geladen und von Dipper in ein Array konvertiert, damit stehen alle Meta-Attribute des Beitrags wie Title, Description, Logo und Template als Klassenvariable dem Model zur Verfügung. Zwar ist deren Gültigkeitsbereich public, kann aber gerne auf private umgeändert werden, um Zugriff ausschließlich über den Getter zu garantieren.


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-19
eigenes CMS entwickeln programmieren Model
post
Kontakt@Oliver-Lohse.de

Ein eigenes CMS programmieren II.

In der zweiten Hälfte des Workshops, geht es darum, das kleine CMS noch weiter auszubauen und vollwertig zu machen. Sie binden die Template-Engine Smarty ein.

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.