home · Automad · Bludit · ChatGPT · CMS · GetSimple · GRAV · Handlebars · htaccess · Java · Jira · PHP · Pico · Smarty · Typemill · WonderCMS · WordPress · Yellow ·
Teil 3 Der Controller (MVC)

Teil 3 Der Controller (MVC)

Der Controller übernimmt die Steuerung Ihres eigenen Content Management Systems, er steuert die Verarbeitung.

Der Controller des MVC-Patterns

Der Controller ist eine der zentralen Steuereinheiten Ihres eigenen Content Management Systems im MVC-Pattern. Er regelt den Datentransport, nimmt User-Requests entgegen und startet die Anzeige der Webseite im Browser des Lesers. Der Controller koordiniert folglich die übergreifende Zusammenarbeit der einzelnen Komponenten des MVC-Pattern.

MVC Design MVC Design Pattern: Der Controller

Wie im vorangegangenen Kapitel schon angedeutet, ist die Kapitelbeschreibung index.md und die Beitragsdatei beitrag.md intern vollkommen identisch aufgebaut, daher muss nicht mit unterschiedlichen Controllern auf den Request reagiert werden und ein gemeinsamer Controller kann die Arbeit leisten. Der Controller ist sehr übersichtlich gehalten und arbeitet alle Anfragen bereits im Konstruktor __construct() ab.

class Controller
{
    public $model;
    public $view;

    function __construct($url)
    {
        $this->model = new Model($url);
        $this->view  = new View();

        $this->view->set('{logo}',        $this->model->logo);
        $this->view->set('{title}',       $this->model->title);
        $this->view->set('{description}', $this->model->description);
        $this->view->set('{content}',     $this->model->content);

        $this->view->display('basic');
    }
}

Der Controller

Der Controller erhält aus der index.php die URL des Aufrufs und generiert das Model welches wiederum die passenden Daten ermittelt. Die bereits initiierte View wird mit den Template-Tokens und deren Inhalten aus dem Model gesetzt ($this->view->set()). Zum Schluss weist der Controller die Anzeige des Templates über das View-Objekt mit $this->view->display() an.

Den Controller bekannt machen

Damit der Controller seine Arbeit auch aufnehmen kann, muss er dem System bekannt gmeacht werden. Im Startscript index.php wird der Controller mit:

require_once('core/mvc/Controller.php')

Controller dem System bekannt machen

in den Arbeitsspeicher geladen und kann dann angesprochen werden, denn er wird in index.php mit dem folgenden Statement angesprochen:

$categorie = new Controller($url.'/index.md');

Controller Instanz erzeugen

und ein Controller-Objekt erzeugt. Dem Objekt wird sofort die passende URL mitgegeben und der Controller ruft das Model, welches um die Datenbeschaffung aus der URL kümmert. Hat das Model alle Daten aus der Datei zusammengesammelt, kann der Controller diese an die View übergeben, die dann das Template läd und Inhalte aus der Date in das Template füllt. Der Controller weist dann die Anzeige des Ergebnis im Browser des Lesers an.

Dieser Leitartikel besitzt keine untergeordneten Beiträge.

Affiliate

Automate Everyday Tasks in Jira - Atlassian Jira makes it easier to track the progress of your projects, but it can lead to repetitive and time-consuming tasks for teams. No-code automation will enable you to increase productivity by automating these tasks. Automate Everyday Tasks in Jira provides a hands-on approach to implementation and associated methodologies that will have you up and running and productive in no time.

Hinweis: Die Webseite ist Mitglied im Amazon.Partnernet und kann mit Affiliate-Links den Betrieb stützen. Für Sie als Leser ist das natürlich vollkommen kostenlos.

(c) by CMSWorkbench.de