Code-Symfony

Teil 4: Serie: PHP-Frameworks Teil 2 - Symfony im Detail

Dadurch muss die anwendungsspezifische Optik der Anwendung nicht in jedem Template von Neuem erzeugt werden. Im Anwendungs-Layout sind in der Regel Kopf- und Fußzeilen und Menüs untergebracht.Die View-Schicht von Symfony erscheint auf den ersten Blick ziemlich straight forward. Es kommt kein ausgefeiltes Templating- System wie beispielsweise Smarty () zum Einsatz. Symfony-Templates sind reguläre PHP-Dateien, die in den Kontext einer Symfony-Anwendung eingebettet werden.Trotzdem bietet das Framework reichhaltig Unterstützung während des Entwicklungszeitraums. Damit der Quellcode der einzelnen Views übersichtlich und sauber bleibt, bietet Symfony beispielsweise eine Reihe sogenannter Helfer-Skripte. Diese Skripte erzeugen teilweise durch den Aufruf einer einzigen Funktion sehr komplexen und aufwendigen HTML-Quellcode.Symfony bietet eine Menge solcher Skripte, die sich nach Belieben erweitern oder durch online verfügbare Bibliotheken ergänzen lassen. Standardmäßig sind Helfer-Skripte für die Erzeugung von Formularen, Links, Javascript-Quellcode oder Ajax-Konstrukten und vieles andere mehr enthalten.Das nachfolgende Beispiel zeigt den Einsatz zweier Helfer-Skripte zur Datumsformatierung und Linkerzeugung innerhalb eines Templates.

PHP-Frameworks Teil II - Symfony

© Archiv

Symfony-Anwendungen besitzen eine einheitliche und saubere Struktur.
<?php use_
helper('Date');?>
Datum: <?php echo
format_date($date, 'd', 'de');?><br/><?php echo link_
to('Task bearbeiten', 'Task/edit?id=1');?>

Die beschriebenen Funktionen sind nur ein Bruchteil der von Symfony zur Verfügung gestellten Features, die den View-Layer betreffen. Die Unterstützung von AJAX, Komponenten, Slots und Plugins können aufgrund ihres Umfangs nicht in diesem Artikel behandelt werden.

Generatoren

Hauptziel für den Einsatz eines Webframeworks wie Symfony ist die Steigerung der Produktivität. Aus diesem Grund bringt Symfony zusätzlich zu den bislang vorgestellten Features noch andere Hilfsmittel mit, die das Schreiben von Quellcode erleichtern oder unnötig machen.

Über das vorgestellte Kommandozeilen-Tool lassen sich anhand der Schema-Beschreibung der Datenbankschicht ganze Programme generieren, die bereits die grundlegenden Operationen auf Elemente der Datenbanken implementieren. Hierbei spricht man von Scaffolding, das von anderen Webframeworks wie beispielsweise Ruby on Rails bekannt ist.

Die Basisoperationen werden oft als CRUD bezeichnet, das für Create, Retrieve, Update und Delete steht. Der Aufruf des folgenden Kommandozeilen-Befehls erstellt für eine Klasse, die in der Schema-Datei definiert ist, Masken, über die sich die CRUD-Befehle ausführen lassen.

$> symfony doctrine:generate-crud
book Book

Die so generierten HTML-Oberflächen genügen nur einfachen Anforderungen, können jedoch als Ausgangspunkt für eigene Masken dienen. Oftmals genügen schon kleinere Änderungen und Anpassung von ein wenig CSS, um daraus fertige Oberflächen zu erstellen.

Flexibilität ist Trumpf

Eines der herausstechenden Merkmale von Symfony ist die äußerst flexible Möglichkeit durch Konfiguration eine Anwendung an eigene Bedürfnisse anzupassen. Wer das erste Mal in die vielen Konfigurationsdateien von Symfony schaut, der wird nahezu erschlagen von den vielen Stellhebeln, über die auf das Verhalten der Anwendung Einfluss genommen werden kann.

Glücklicherweise muss man sich nicht zwingend damit auseinandersetzen, denn der Großteil aller Einstellungen besitzt bereits eine sinnvolle Voreinstellung.

Mehr zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…