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

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".