Evolutionär

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

© Archiv

Symfonys neue Versionen

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.

Mehr zum Thema

Adobe Browserlab
Alle in einem

Unterschiedliche Browser und Betriebssysteme stellen Websites verschieden dar. Adobe versucht dieses Problem mit einem Online-Service zu lösen.
image.jpg
Optimierung

Wer schnell im Web etwas nachsehen möchte, hat keine Zeit auf den Browser zu warten. Sparen Sie sich deshalb vor allem unnötige Werbung.
Das ist neu in IE 9 und Firefox 4
Neue Browser-Versionen

Neue Versionen der beiden großen Browser stehen bevor: Der Artikel zeigt die wichtigsten neuen HTML und CSS-Features für die Webentwicklung.
Browserstatistik Europa
Browserstatistik

Jeder fünfte europäische Internet-Nutzer surft mit Google Chrome. So lautet das Ergebnis einer aktuellen Studie des Webanalyse-Anbieters AT Internet,…
image.jpg
Ratgeber: "Bildbearbeitung"

Der Cloud sei Dank entstehen im Netz immer mehr Werkzeuge, die komplexe Rechenprozesse in einfache Interfaces packen. Das gilt auch für die…
News
Minecraft-Server waren das ursprüngliche Ziel
Alternative zu MacBook Pro und Surface Book
Blockchain-Plattform für Schweizer Großbank