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