Teil 4 Das Model

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

Inhalt

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.


Oliver Lohse
2024-02-19
eigenes CMS entwickeln programmieren Model
post
0