Tutorial 3 - Eigene Controller, Modells und Views erstellen
Die vielen Möglichkeiten und die Flexibilität von Silverstripe sind auf die Architektur dieses CMS zurückzuführen. Basierend auf OOP, struktutiert als MVC. Was heisst das?
OOP => Der ganze PHP-Code ist in OOP (Objekt-Orientierte-Programmierung) geschrieben. Daher sind alle bestehenden Klassen (die einzelnen Bausteine) kombinierbar und wieder verwendbar. Der grösste Vorteil liegt darin, dass diese Klassen individuell erweiterbar sind. Wir können uns das wie Legosteine (Bestehenden Klassen) vorstellen, die wir zu einem beliebigen Bauwerk zusammenstellen können. Benötigen wir Legosteine anderer Art, können wir diese selbst erstellen (Benutzerdefinierte Klassen). Dabei können wir auf Bestehendes zurückgreiffen, bereits existierende Eigenschaften und Methoden können wir mit zusätzlich geschriebenen verbinden.
MVC => Das Architektonische Muster der Software, baut auf drei Pfeiler, die sich die Arbeit teilen. Das Modell (Datenbank, Zugriffe, Verhaltensregeln), die Präsentation / View (Anzeige und Ausgabe der Daten) und der Steuerung / Controlls (Ausführende Funktionen und Abläufe).
In Silverstripe basiert die Seitendarstellung aud der Datei Page.php. Im oberen Teil befinden sich die Dantenbank-Parameter (Model), im unteren Teil der Page_Controller (Controller) und in der Datei Page.ss das HTML für die Ausgabe (View).
Einen eigenen Controller erstellen, dabei die Eigenschaften und Methoden von Page eweitern.
Eigene Datenbanktabellen erzeugen, diese im Backend zu editieren und im Frontend darzustellen.
Grundkenntnisse einer Programmiersprache sind notwendig, um die einzelnen Schritte nachvollziehen zu können. OOP-Kenntnisse oder fundierte Erfahrung mit PHP sind hilfreich, aber nicht unbedingt erforderlich. Das kennen der Funktionsweise von Silverstripe-Templates und Anzeige (Tutorial 1) werden Vorausgesetzt.
Die Anzeige der 'Rechten Spalte' in diesem Tutorial, erfolgt mit dem Template 'meintemplate' (Tutorial 2), es kann aber jedes beliebige Template dazu benutzt werden.
Download: meintemplate.zip (Theme gebaut in Tutorial 2)
Start: Eine eigene Datanbanktabelle (Modell)