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.

© 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 lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.