07.12.2021 · News

Neuerungen in Symfony 5.4 / 6.0

Im November 2021 wurde sowohl Symfony 5.4, wie auch Symfony 6.0 veröffentlicht. Wir haben die Versionen bereits während der Entwicklung genutzt und freuten uns auf die neuen Möglichkeiten, welche uns das Framework brachte.

Release Prozess

Symfony hat einen entwicklerfreundlichen Versionierungsprozess. Minor-Versionen (z.B. 5.3 auf 5.4) werden alle 6 Monate veröffentlicht und beinhalten neue Funktionen. Major-Versionen werden alle 2 Jahre veröffentlicht und beinhalten die gleichen Funktionen wie die gleichzeitig veröffentlichte Minor-Version. Jedoch werden aus dieser Version die Deprecations (veraltete Methoden und Ansätze) entfernt. Dadurch wird ein planbarer Update-Zyklus für uns und unsere Kunden abgesichert und wir können auf einfache Weise die neusten Funktionen nutzen, wie auch Überarbeitungen planen.

Dieses Jahr ist es wieder so weit: Am 29. November wurde sowohl Symfony 5.4, wie auch 6.0 herausgegeben. Symfony 5.4 ist gleichzeitig die aktuellste LTS Version, welche bis November 2025 unterstützt wird. Wir werden in den nächsten Wochen alle Kundenprojekte, welche wir unterhalten dürfen, auf diese Version aktualisieren und auf PHP 8.1 umstellen. Alle neuen Projekte werden direkt mit Symfony 6.0 gestartet.

Nachfolgend stellen wir einige neue Funktionen vor, welche uns Symfony 5.4 und 6.0 bieten.

Konsolen Autovervollständigung

Dies erleichtert vor allem Administratoren und Entwicklern das Leben: Konsolen-Befehle können nun automatisch vervollständigt werden. Viele Befehle, welche auf der Konsole ausgeführt werden, verfügen über viele Argumente und Optionen. Anstatt dass immer der Hilfe-Befehl aufgerufen werden muss, können diese nun mit dem Tabulator während dem Tippen ergänzt werden.

PHP Enumerations Support

Nach Jahren kam mit PHP 8.1 eine der häufigst gewünschten Sprach-Funktionen: Enumerations-Support. Bisher mussten eingecodete Auswahllisten immer als Klasse dargestellt werden:

class VersionControl
{
    public const GIT = 'git';
    public const SVN = 'SVN';
    public const MERCURIAL = 'Mercurial';
    public const BAZAAR = 'Bazaar';
}

Neu können diese sauber als Enum dargestellt werden:

enum VersionControl: string
{
    case GIT = 'git';
    case SVN = 'SVN';
    case MERCURIAL = 'Mercurial';
    case BAZAAR = 'Bazaar';
}

Dies kann in der neuen Symfony Version nun auch entsprechend verwendet werden. So können diese direkt in Formularen referenziert werden:

class ProjectType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $builder
            ->add('versionControl', EnumType::class, ['class' => VersionControl::class, 'expanded' => true])
        ;
    }
}

Automatische Spracherkennung

Jeder Browser übermittelt beim Besuch einen Accept-Language Header. Dieser enthält Informationen über die bevorzugten Sprachen des Nutzers. So wird beispielsweise erkannt, dass Deutsch die Hauptsprache des Nutzers ist, aber Französisch und Italienisch ebenfalls verstanden werden.

Symfony unterstützt nun bereits tief im Framework, dass diese Sprachwünsche interpretiert und verarbeitet werden. Dadurch lassen sich mehrsprachige Anwendungen ohne weiteren Code direkt in der gewünschten Nutzersprache aufrufen.

Profiler-Verbesserungen

Zur Entwicklung stellt Symfony einen Profiler zur Verfügung, womit jede Anfrage direkt analysiert werden kann.

Im Profiler werden beispielsweise Informationen zu der Anfrage, dem Berechtigungskonzept, gesendete SQL Anfragen, verwendeten Zeiten zur Beantwortung der Anfrage, gesendeten E-Mail's usw. angezeigt.

Neu wird des Weiteren direkt eine HTML Vorschau der E-Mail angezeigt, was die Entwicklung von diesem E-Mail Versand massiv vereinfacht. Auch wurde die Log-Ansicht verbessert.

... und vieles Mehr

Natürlich wurden noch viele neue Funktionen und Verbesserungen hinzugefügt, unter anderem:

Wir freuen uns auf die breite Verwendung der neuen Version und danken dem Team von SensioLabs und allen Mitwirkenden!

P.S. magst du Symfony genauso wie wir und bist offen für neue Herausforderungen? Schick uns dein GitHub Profil, komm auf einen Kaffee vorbei oder schreib uns an – wir sind immer auf der Suche nach neuen Talenten!

Offene Stellen

Weiterstöbern

Business / News / Tech
Best of March/April

In unserer regelmässigen Blog-Serie «Best of» fassen wir die interessantesten Neuigkeiten aus unserem Umfeld zusammen.

News
Best of September/October

In unserer regelmässigen Blog-Serie «Best of» fassen wir die interessantesten Neuigkeiten aus unserem Umfeld zusammen.

Das ist whatwedo

whatwedo ist ein Software-Studio aus Bern, welches individuelle Web-Applikationen und Software auf Basis von modernen Technologien entwickelt.

get in touch 
with whatwedo