Leseprobe zu "Webentwicklung mit CakePHP (eBook)"
KAPITEL 6 Das View (S. 93-94)
Aller guten Dinge sind drei, auch beim MVC-Pattern. In den letzten Kapiteln haben Sie bereits den Controller und das Model kennengelernt. Bleibt an dieser Stelle nur noch, sich das View genauer anzuschauen. Sie werden auf den folgenden Seiten kein Neuland betreten, da die Beispiele, die wir bisher besprochen haben, bereits mit Views gearbeitet haben, um die Daten im Browser darzustellen. Allerdings haben Sie die Möglichkeiten im View speziell im Bezug auf die Helper bei Weitem noch nicht ausgereizt, so dass es noch einiges zu entdecken gibt.
Das Ziel dieses Kapitels ist es also, die bestehenden Views des Beispiels zu erweitern und Ihren Wünschen entsprechend zu gestalten. In diesem Kapitel behandeln wir vor allem zwei Bereiche: zum einen den eigentlichen Aufbau des Views in CakePHP, bestehend aus dem Rahmenlayout und dem dynamisch erzeugten View, abhängig von einer Action. Zum anderen betrachten wir die Helper, die CakePHP Ihnen zur Verfügung stellt. Schwerpunkt werden dabei der HTML- und der Form-Helper sein, die für die Ausgabe von HTML-Elementen und Formularen zuständig sind.
Am Ende dieses Kapitels werden Sie noch die Möglichkeiten der View-Elemente kennenlernen, mit denen Sie Ausgaben weiter untergliedern und Seitenbereiche auslagern können. Beide Aspekte des Views werden Sie anhand der Beispielapplikation kennenlernen und natürlich auch anwenden. Unser Ziel ist es in diesem Kapitel, die schon bestehenden – automatisch erzeugten – Ansichten der Jobbörse zu erweitern und den eigenen Wünschen entsprechend anzupassen.
Was ist ein View?
Das View im Sinne des Model-View-Controller-Patterns ist im Prinzip das, was der User zu sehen bekommt. Es definiert die Oberfläche, über die ein Anwender die Applikation bedienen kann, und gibt damit den Rahmen vor, in dem eine Interaktion stattfinden kann. Dabei greift das View auf die Schnittstellen des Controllers zurück, um Eingaben an der Applikationsoberfläche weiterzuleiten und anhand der Reaktion der Programmlogik eine neue oder aktualisierte Ansicht zu laden. Eine wesentliche Grundlage für die Entwicklung verschiedener Views ist die viel zitierte Trennung von Layout und Logik.
Gerade im Bezug auf Webanwendungen, deren Oberflächen in der Regel durch HTML-Seiten erzeugt werden, ist dieses Prinzip wesentlich, da zwischen dem Layout und der eigentlichen Anwendung oft Welten liegen, die von außen nicht wahrnehmbar sind. Professionelle Webseiten werden von Designern und Frontend-Entwicklern entworfen und dann in HTML umgesetzt. Bis zu diesem Punkt ist eine Webanwendung nichts weiter als ein großer Stapel von statischen HTML-Dokumenten, die durch eine Reihe von Anforderungen oder Ablaufdiagrammen miteinander verknüpft sind.
Auf Basis dieser Vorgaben werden die Templates mit den Schnittstellen der Controller verknüpft, um mit dynamischen Inhalten befüllt zu werden oder Usereingaben zurück an die Applikation senden zu können. Diese Templates sind allerdings weiterhin weitestgehend unabhängig von der Programmlogik und können im Bedarfsfall wieder von einem Producer bearbeitet werden, wenn er die vorgegebenen Konventionen einhält. Das Framework von CakePHP sieht Views im Prinzip genauso wie oben beschrieben: als einfache HTML-Seiten, die über Links, Formulare und dynamische Bereiche mit der Applikationslogik verknüpft sind. Dabei ist durch die Konventionen genau festgelegt, welches View für welche Action in einem Controller zuständig ist. Wenn eine Template- Datei also erst einmal erstellt ist und entsprechend benannt und gespeichert wurde, dann ist schon eine Menge erledigt. Um die Details und den Inhalt eines CakePHP-Template werden wir uns auf den folgenden Seiten kümmern.