Kommende Neuerungen in Symfony 5.4

in  Zikula Apps , ,

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 Messenger Messenger Verbesserungen Notifier Notifier Integrationen Profiler Überarbeitete Profiler Logs Profiler Verbesserungen Routing Route Aliasing Security Schnellere Security Voter Translator Translation Verbesserungen Validation Verschachtelte Validation Attribute Neue Validierungsmöglichkeiten

Shopware 6: Korrektur für Links zu rechtlichen Angaben

in  Verschiedenes , ,

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.

Vom Teilen und Herrschen: Wie groß sollten Module sein?

in  Module, Kopplung, Wartbarkeit, Microservices

Soeben bin ich über einen Artikel auf Heise gestolpert, der aus meiner Sicht ein paar spannende Impulse setzt: Richtig klein: Hat Modularisierung versagt?. Der Autor beginnt mit klassischen technischen Aspekten wie dem Management von Komplexität und typischen, damit einhergehenden Problemen. Statt aber in der Folge auf die üblichen Ansätze zur Qualitätssicherung einzugehen, versucht der Artikel dann jedoch eine Brücke zu schlagen zu häufig auftretenden organisatorischen Herausforderungen, die mit der Wartung von Software durch wechselnde Teammitglieder und Verantwortlichkeiten einhergehen.

Endlich in der GitHub Issues Beta

in  Verschiedenes , , ,

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.

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

in  Verschiedenes , , , ,

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.

Symfony CurrentUser-Attribut kollidiert mit Doctrine Param Converter

in  Verschiedenes , , ,

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.

GitHub erlaubt Vorlagen für strukturierte Ticket-Formulare

in  Verschiedenes , ,

Schon seit einiger Zeit ist es in GitHub möglich, Vorlagen für unterschiedliche Arten von Tickets zu hinterlegen. Hierbei handelt es sich um Markdown-Dateien, mit denen sich Inhalt der Beschreibung sowie weitere Angaben, wie Labels und etwaige Bearbeiter vorbelegen lassen. Für öffentliche Repositories ist nun auch ein Beta-Programm für YAML-basierte Formulardefinitionen gestartet. Diese Funktion bietet einen deutlich höheren Freiheitsgrad, indem sich mehrere Formularfelder beschreiben lassen. Wie im obigen Screenshot ersichtlich, können hiermit zum Beispiel Dropdowns/Auswahllisten verwendet und gewünschte Angaben als verpflichtend gekennzeichnet werden.

Abhängigkeiten automatisch aktualisieren mit Dependabot

in  Builds & Tests , ,

Vor knapp eineinhalb Jahren haben wir gezeigt, wie man die Aktualisierung verwendeter Drittkomponenten mit GitHub Actions automatisieren kann. Zwischenzeitlich sind wir hierbei auf den Dependabot umgestiegen. Dieses Tool wird bei GitHub schon länger zum Aufspüren und Melden von Sicherheitsproblemen verwendet. Es ist damit jedoch auch möglich, Updates zu suchen und bereitzustellen. Im Gegensatz zu dem früheren Vorgehen gibt es dabei folgende Unterschiede und Vorteile: Für jede Komponente wird ein eigener Pull Request erstellt.