Das Buch zu Symfony ist in einer neuen Version erschienen

in  Basics , ,

Das Buch zu Symfony ist in einer neuen Version erschienen

Bereits im Jahr 2020 haben wir das Buch “Symfony: The Fast Track” hier vorgestellt. Nun ist eine neue Auflage bereitgestellt worden, welche auf den Stand für Symfony 5.4 und 6.0 gebracht wurde.

Eine deutsche Übersetzung steht im Moment noch nicht zur Verfügung, aber das englische Original ist im Zweifelsfall vermutlich ohnehin zu bevorzugen.

Alle Infos im Detail sowie weiterführende Links finden sich in der Ankündigung.

Symfony und API Platform starten offiziellen Docker-Support

in  Basics , , ,

Symfony und API Platform starten offiziellen Docker-Support

Seit knapp einem Monat steht eine umfangreiche Unterstützung zur Docker-basierten Arbeit mit Symfony bereit. Hierbei gibt es Neuerungen in mehreren zentralen Werkzeugen, die ineinander greifen und aufeinander aufbauen:

  1. Das Composer-Plugin Flex kann bei Bedarf nun neue Services in die Datei docker-compose.yml eintragen sowie notwendige PHP Extensions und Bibliotheken im Dockerfile anpassen.
  2. Symfony CLI erkennt, dass Docker Compose für das Projekt verwendet wird, und stellt automatisch entsprechende Umgebungsvariablen bereit.
  3. Mit dem Beispielcontainer Symfony Docker lassen sich schnell neue Projekte aufsetzen. Es stellt auch ein GitHub Template bereit, mit dem neue Repositories angelegt werden können.
  4. Das API Platform Projekt stellt ein Helm Chart bereit, um ein Deployment des Projektes in Kubernetes durchzuführen.

In diesen Blog-Artikel werden die Neuerungen im Detail vorgestellt und weiterführende Links angeboten.

Zikula 3 - Cross-Release und weitere Ausrichtung

in  Zikula Apps , , , ,

Zikula 3 - Cross-Release und weitere Ausrichtung

Heute sind gleichzeitig zwei neue Versionen vom Zikula Core veröffentlicht worden.

Zikula 3.0.4 bringt Fehlerkorrekturen

Mit der Version 3.0.4 wird ein weiteres Bugfix-Update für die Hauptversion 3 bereitgestellt.

Die Änderungen im Detail werden in der Release-Ankündigung aufgelistet.

Zikula 3.1.0 hat etwas mehr an Bord

Außerdem ist auch Zikula Core 3.1.0 erschienen; dieses Update beinhaltet zusätzlich einige Neuerungen, bringt aber auch Veränderungen mit.

Auch hierfür gibt es eine detaillierte Liste mit den Korrekturen, hinzugefügten Features und sonstigen Neuerungen.

Kommende Neuerungen in Symfony 5.4

in  Zikula Apps , ,

Kommende Neuerungen in Symfony 5.4

Vor einigen Tagen wurde Symfony 5.4.0-BETA3 veröffentlicht. Dies nehme ich zum Anlass, um einmal einen Überblick über die wichtigsten neuen Funktionen zu geben, auf die wir uns im Rahmen dieses Updates freuen können. Im Folgenden sind die bisher veröffentlichten Blog-Beiträge thematisch nach Komponente sortiert.

PHP 8.1
Unterstützung für PHP Enumerations (siehe auch diesen Artikel dazu)
Console
Console Autocompletion (siehe auch diesen Artikel dazu)
DependencyInjection
DI-Verbesserungen
Filesystem
Neue Path-Klasse
Framework
Veränderungen für Controller
Konfigurierbare Exceptions
Language Negotation
Sonstige Features - Teil 1
Sonstige Features - Teil 2
Sonstige Features - Teil 3
Messenger
Messenger Verbesserungen
Notifier
Notifier Integrationen
Profiler
Überarbeitete Profiler Logs
Profiler Verbesserungen
Routing
Route Aliasing
Security
Schnellere Security Voter
Serializer
Serializer Verbesserungen
Translator
Translation Verbesserungen
Validator
Verschachtelte Validation Attribute
Neue Validierungsmöglichkeiten

Shopware 6: Korrektur für Links zu rechtlichen Angaben

in  Verschiedenes , ,

Shopware 6: Korrektur für Links zu rechtlichen Angaben

In der aktuellen Version von Shopware 6 gibt es einen Bug, der dafür sorgt, dass die Links zu den Datenschutzbestimmungen und den allgemeinen Geschäftsbedingungen im Registrierungsformular nicht funktionieren, sofern die Konfiguration des Systems so eingestellt ist, dass diese aktiv bestätigt werden müssen.

Die zur Korrektur notwendige Änderung ist schnell eingespielt und steht in diesem Diff zur Verfügung.

Endlich in der GitHub Issues Beta

in  Verschiedenes , , ,

Endlich in der GitHub Issues Beta

Seit knapp eineinhalb Jahren nutzen wir MeisterTask für unser persönliches Task Management im Rahmen von Kundenprojekten sowie eigenen Vorhaben - und sind immer noch begeistert von diesem Tool 😍

Alle Tickets, welche spezifisch zu einer bestimmten Softwarekomponente gehören, liegen allerdings in GitHub beim jeweiligen Repository - insbesondere da viele der Dinge, an denen wir arbeiten, Open Source Projekte sind. Es gibt in GitHub auch die Möglichkeit für sogenannte Project boards, mit denen sich Tickets Kanban-artig organisieren lassen. Allerdings war das bislang eher rudimentär umgesetzt.

Problem mit zirkulären Abhängigkeiten durch Dekoratoren in Symfony 5.3.7

in  Verschiedenes , , , ,

Problem mit zirkulären Abhängigkeiten durch Dekoratoren in Symfony 5.3.7

Symfony erlaubt das Dekorieren von Services: hierbei wird im Gegensatz zum Überschreiben bestehender Services eine Ummantelung derselben vorgenommen. Immer dann, wenn der ursprüngliche Service injiziert werden soll, wird statt dessen der ihn dekorierende Ersatz verwendet. Dies ist immer dann praktisch, wenn man zusätzliche Funktionalität hinzufügen möchte, jedoch keinen Zugriff auf den originalen Service hat - zum Beispiel aus Gründen der Entkopplung oder schlicht und ergreifend weil das zu erweiternde Bundle von Dritten entwickelt wird. In Zikula wird beispielsweise Twig mit einem Dekorator erweitert, um mit Hilfe zusätzlicher Events vor und/oder nach dem Rendern eines Templates reagieren zu können.

Symfony CurrentUser-Attribut kollidiert mit Doctrine Param Converter

in  Verschiedenes , , ,

Symfony CurrentUser-Attribut kollidiert mit Doctrine Param Converter

Symfony und Doctrine bieten bereits Unterstützung für unterschiedliche native Attribute, welche seit in PHP 8 verwendet werden können. So lassen sich diese unter anderem für ORM-Definitionen (#[ORM\*]), Validierungsregeln (#[Assert\*]), Routen (#[Route]) oder zur Injektion von Service Tags (#[TaggedIterator]) einsetzen.

Das Attribut #[CurrentUser] erlaubt es, das Objekt mit dem aktuell angemeldeten Nutzer direkt als Controller-Argument zu übergeben; ein Beispiel hierfür lässt sich diesem Blog-Artikel entnehmen. Intern wird hierbei ein Argument Value Resolver benutzt.