Symfonys neue Versionen
Vor Kurzem gab es Symfony gleich in zwei neuen Versionen. Dieser Artikel zeigt die Unterschiede zwischen den beiden und die neuen Funktionen.

- Symfonys neue Versionen
- E-Mail, Testing und Co.
- Symfony 1.3 oder 1.4?
Während der Entwicklungszeit von nahezu einem Jahr seit dem letzten Major-Release von Symfony wurde fleißig gearbeitet. Das Resultat ist das Versionsgespann 1.3/1.4, das mit einer Reihe von Änderungen aufwartet. Revolutionäre Neuerungen sind nicht zu erwarten, vielmehr eine evolutionäre Weit...
Während der Entwicklungszeit von nahezu einem Jahr seit dem letzten Major-Release von Symfony wurde fleißig gearbeitet. Das Resultat ist das Versionsgespann 1.3/1.4, das mit einer Reihe von Änderungen aufwartet. Revolutionäre Neuerungen sind nicht zu erwarten, vielmehr eine evolutionäre Weiterentwicklung des Vorhandenen.
Projekt-Setup
Die Erstellung neuer Projekte ist mit Symfony von Haus aus einfach. In der neuen Version wurde dieser Vorgang noch deutlich mächtiger. Nun kann man eigene Installer-Skripte bei der Ausführung des Befehls generate:project angeben, die während der Projekterstellung ausgeführt werden.
$> symfony generate:project --
installer=/somewhere/my_installer.php
Dies ist für all jene praktisch, die mit Symfony eine Vielzahl von Projekten erstellen. In diesem Fall können mit den Installer-Skripten eigene Vorlieben wie der Einsatz bestimmter Plugins, Konfigurationsparameter, Javascript-Bibliotheken oder CSS-Dateien mit generiert werden.
Formulare
Mit dem Erscheinen der Versionen 1.1 und 1.2 wurde das Formular-System von Symfony komplett umgekrempelt. Dies ist bei den neuen Versionen nicht der Fall. Vielmehr wurde an vielen Stellen die bekannten Ecken und Kanten geschliffen und Bestehendes verbessert, was die Entwicklung von Formularen einfacher und weniger fehleranfällig macht.
Formularklassen werden meist von der jeweilig verwendeten ORM-Schicht erzeugt, was dazu führt, dass dort alle Felder der Model-Klasse auch als Formularfeld erzeugt werden. Bisher war man immer gezwungen, die unerwünschten Felder einzeln in der Formularklasse wieder zu entfernen. In Version 1.3 kann nun mit je einer Zeile pro Formular festgelegt werden, welche Felder angezeigt werden sollen.
class ArticleForm extends
BaseArticleForm {
public function configure() {
$this->useFields(array('name',
'number'));
}
}
Auch das Handling von eingebetteten Formularen funktioniert jetzt besser, was auch daran liegt, dass die Methode render HiddenFields des Formulars auch die Hidden-Felder der eingebetteten Formulare rendert.
ORM
Symfony bringt mit Propel und Doctrine zwei unterschiedliche Datenbankzugriffsschichten mit. Bei neuen Projekten war standardmäßig Propel aktiviert. Bereits seit Längerem war allerdings klar, dass der Weg hin zu Doctrine als neuem Standard-ORM-Schicht führt.
Da Doctrine deutlich leistungsfähiger ist als Propel und sich Letzteres seit dem Ausstieg des bisherigen Hauptentwicklers im Umbruch befindet, war dieser Schritt absehbar. Der Wechsel wurde jetzt mit der neuen Symfony-Version vollzogen. Neue Projekte arbeiten von nun an mit Doctrine, das im Zuge des Updates auf die Version 1.2 aktualisiert wurde. Propel ist weiter mit an Bord, verwendet wird die kürzlich veröffentlichte Version 1.4.
Doctrine-Nutzer werden neben einer Reihe von neuen Funktionen und Performance-Steigerungen vor allem die verbesserten Features des Doctrine-Plugins hinsichtlich Formularhandling und des Admin-Generators zu schätzen wissen. Hier wurden viele Punkte verbessert und Fehler behoben.
Wer Entwicklungsumgebungen wie Netbeans oder Eclipse einsetzt, dem wird auffallen, dass die automatische Methodenvervollständigung jetzt auch für Doctrine-Model-Objekte funktioniert, da die neue Version jetzt die Model-Klassen mit einer Vielzahl von PHPDoc-Kommentaren füllt, die von den IDEs ausgewertet werden können.