Mit Symfony 3.4 und 4.0 stehen zwei neue Versionen zum Download bereit. Die zwei großen Releases bringen einige Änderungen am PHP-Framework sowie neue Features mit. Unter anderem ist Symfiony Flex nun fester Bestandteil des Frameworks, aber auch darüber hinaus hat sich viel getan.
Symfony 4.0 wurde gestern veröffentlicht und bringt das Composer-Plugin Symfony Flex mit. Damit automatisiert die neue Version zahlreiche häufig ausgeführte Arbeitsschritte in der App-Entwicklung. Wie immer ist die neue Version aber nicht alleine erschienen: Auch Symfony 3.4 als neue LTS-Version steht seit gestern in der finalen Version zum Download bereit.
Eine der größten Neuerungen in Symfony 4 ist das veränderte Vorgehen im Arbeitsprozess: Beginnend mit dem aktuellen Release kann mit Symfony nun eine Auswahl an Komponenten getroffen werden, die in eine Anwendung integriert werden sollen. Statt einfach alle Komponenten und Bundles zu integrieren, wird nun nur noch das hinzugefügt, was die App benötigt. Darüber sprachen wir bereits im Oktober mit Victoria Quirante im Interview.
Die Release Notes zu Symfony 4.0 bezeichnen die neue Version insofern auch als Micro-Framework. Apps, die mit v4.0 erstellt werden, sollen 70 Prozent kleiner sein als die, die mit Version 3.x entwickelt wurden. Außerdem hat man sich mit dem neuen Release stärker den allgemeinen Konventionen der Webentwicklung angenähert, wie Ryan Weaver es im Symfony Blog ausdrückt; das Framework ist somit weniger opinionated hinsichtlich der bisher integrierten Symfony-Ideen und bringt eine verkleinerte Directory Struktur mit, die nötig ist, um mit Symfony Flex zu arbeiten.
Trotz aller Änderungen bleibt die Rückwärtskompatibilität des Frameworks erhalten. Das Upgrade kann ohne Anpassung der Directory Structure durchgeführt werden, da Symfony Flex als optionales Feature implementiert wurde und somit darauf verzichtet werden kann.
Symfony Flex wird im Symfony Blog als neue Option für das Setup und Management von Symfony-Apps beschrieben. Das neue Tool automatisiert die am häufigsten ausgeführten Arbeitsschritte in Symfony automatisiert. Bei Symfony Flex handelt es sich um ein Composer-Plugin, das das Verhalten der Befehle require, update und remove modifiziert. Damit können Bundles installiert und wieder entfernt werden.
Symfony Flex ist seit Version 3.3 mit dem Framework kompatibel; die Integration des Composer-Plugin wurde aber erst zu Version 4.0 zum zentralen Element des Frameworks. Dieses mehrschrittige Vorgehen ist typisch für Symfony: Auch Version 3.4 bringt wieder zahlreiche neue Features und Updates für das Framework mit. In der Release Note benennt Fabien Potencier eine Zahl von mehr als 200 neuen kleinen und großen neuen Features in der Version. Einige davon wurden bereits im Symfony Blog vorgestellt.
Zu den Neuerungen gehört, dass Validator Informations nun im Symfony Profiler angezeigt werden, außerdem wurden die Security Listeners verbessert, indem man das Ladeverhalten angepasst hat. Security Listeners werden jetzt nach dem Lazy Loading-Prinzip bei Bedarf geladen, nicht mehr per Default vollständig. Bei den Console Execptions wurde an der Anzeige gearbeitet: Sie werden jetzt immer in der Datei und der Zeile angezeigt, in der sie auftreten. Die Expection Class wird nicht mehr standardmäßig angezeigt. Auch ist es nun möglich, Events im Micro-Kernel zu subscriben.
Für Formulare wurden gleich mehrere Neuerungen in Symfony 3.4 implementiert. Zwar werden noch immer nicht alle HTML5-Form-Fields in Symfony unterstützt. Es wurden jedoch zwei neue Feldtypen hinzugefügt: TelType
und ColorType
. Außerdem gibt es nun zwei neue Optionen für TimezoneType
und eine delete_empty
-Option für Callbacks. Auch das neue Bootstrap 4 Form Theme wurde in Symfony 3.4 integriert, sowie die Option zur Deaktivierung globaler Form Themes.
Alle bislang vorgestellten neuen Features können im Symfony Blog gefunden werden. Die neuen Versionen stehen auf der Website des Frameworks zum Download bereit.