Mit Hilfe der Metadaten von Doctrine lassen sich jegliche Daten zu einer Entität zur Laufzeit verändern. Allerdings kann das in manchen Anwendungsfällen fortwährend notwendig sein, zum Beispiel in Multi-Tenancy-Umgebungen. Wenn zudem Operationen mit dem Schema Manager in der Datenbank benötigt werden, kann es schnell unübersichtlich werden, da man sich nicht sicher sein kann, ob eine bestimmte Veränderung bereits durchgeführt worden ist oder noch nicht.
Der folgende Code-Ausschnitt zeigt ein Beispiel für eine Klasse, die eine Modifikation zentral für alle Entitäten, die für einen bestimmten EntityManager registriert sind, durchführt - hier wird etwa der Name der durch die Entität angesprochenen Datenbanktabelle verändert:

Vor zwei Tagen wurde Symfony 5.2.0-BETA2 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 PHP 8 Attribute Attribute für Controller-Argumente Attribute für Constraints Cache Asynchrone Cache-Neuberechnung Console 24-bit Farben Unterstützung für Signale in Commands Form Callbacks für Data Mapper Asserts für Form-Tests Form Field Helpers FrameworkBundle Front Controller Konfiguration HttpClient EventSource HTTP client Retryable HTTP client Lock Shared locks Mailer DKIM E-Mail Authentifizierung Profiler Einfachere Daten-Kollektoren Session Profiling RateLimiter Neue Rate Limiter Komponente Security Login Throttling Login Links Semaphore Neue Semaphore Komponente Translator Pseudo-Localization Übersetzbare Objekte Uid Doctrine-Typen für UUID und ULID UID-Serialisierung und -Validierung
Vor kurzem hatten wir über das Release von Zikula 3.0.1 berichtet, welches wichtige Korrekturen für Zikula 3 bereitgestellt hat.
Vor einer Woche wurde die nächste Version 3.0.2 veröffentlicht. Allerdings ist kurz danach Symfony 5.1.4 und dann noch Symfony 5.1.5 mit einem Security-Patch erschienen. Daher steht nun auch als neues Release die Version Zikula 3.0.3 zur Verfügung, welche diese Updates ebenfalls zur Verfügung stellt.
Oftmals greift man in Symfony-Projekten auf CLI-Kommandos mit Hilfe der Symfony Console-Komponente zurück, um länger laufende Prozesse außerhalb des Webservers durchzuführen. In komplexeren Vorhaben gibt es weitere Ansätze, wie etwa eine Job Queue oder die noch relativ junge Symfony Messenger-Komponente. Diese haben gemeinsam, dass sie eine bestimmte Struktur voraussetzen. Für die Umstellung von Legacy-Code, in dem selbstgeschriebene Jobs mit ReactPHP Event-Loops zum Einsatz kommen, haben wir vorerst einen anderen Weg gewählt, um diese Worker in Einklang mit Symfony zu bringen.
Genau einen Monat nach der Veröffentlichung von Zikula 3.0.0 ist nun das erste Update erschienen. Zikula 3.0.1 bringt wichtige Korrekturen und sorgt somit für ein Stück mehr Stabilität in der neuen Hauptversion.
Eine Liste der Änderungen im Detail können in der Release-Ankündigung nachgelesen werden.
Heute haben wir das finale Release von Zikula Core 3.0.0 veröffentlicht. Es basiert auf Symfony 5.1 sowie Twig 3 und verwendet unter anderem Bootstrap 4 und Font Awesome 5. Einen grundlegenden Überblick über die wichtigsten Änderungen gibt der Release-Artikel auf der Zikula-Website: Zikula Core 3.0.0 veröffentlicht!.
Was bringt die neue Version? Über einige der zahlreichen Neuerungen habe ich hier bereits in früheren Artikeln berichtet. Daher beschränke ich mich in diesem Beitrag darauf, die wichtigsten Links zum Nachlesen noch einmal gebündelt bereit zu stellen:
Heute wurde der erste Release Candidate für Zikula Core 3.0.0 veröffentlicht.
Einen grundlegenden Überblick über die wichtigsten Änderungen sowie die weiterführenden Links zur Dokumentation und zu den Downloads sind dem Release-Artikel auf der Zikula-Website zu entnehmen: Zikula Core 3.0.0 Release Candidate 1 steht zum Testen bereit!.
Was bringt die neue Version? Über einige der zahlreichen Neuerungen habe ich hier bereits in früheren Artikeln berichtet. Daher beschränke ich mich in diesem Beitrag darauf, die wichtigsten Links zum Nachlesen noch einmal gebündelt bereit zu stellen:
Schon seit einiger Zeit werden im GitHub-Repository des Zikula Core die Dinge dokumentiert, die zusätzlich zu den Handbüchern von Symfony, Doctrine, Twig, Bootstrap usw. zu beachten sind. Nun wurde die Struktur dieser Dokumente jedoch überarbeitet und in eine Gesamtsicht gekleidet.
Themenorientiert Frühere Ansätze von Handbüchern und Doku-Sammlungen haben oft versucht, unterschiedliche Bereiche für Entwickler und Administratoren aufzubauen. Dies hatten wir wieder versucht, sind dann aber zu der Erkenntnis gelangt, dass es zu viele Überschneidungen gibt und das Ganze vor allem unübersichtlich wird.
Nachdem wir bereits in einigen Artikeln zu Zikula 3 die Änderungen unter der Haube, umfangreiche Modernisierungen, Möglichkeiten für dynamische Formulare und Neuerungen rund um Übersetzungen vorgestellt hatten, sollen nun einige weitere der neuen Features und Änderungen vorgestellt werden.
Module + Themes = Extensions Die Verwaltung von Modulen und Themes läuft nun unter einem gemeinsamen Dach: Extensions.
Hintergrund ist unter anderem, dass Themes ebenso wie Module eigenständige Symfony-Bundles sind und mehr als nur Layout können.
Nachdem zwischen den Jahren der komplette Unterbau von Zikula 3 auf Stand gebracht worden ist, hat sich der nächste Sprint dem Übersetzungssystem gewidmet. In diesem Beitrag wird kurz dargestellt, welche neuen Funktionen eingebracht worden sind:
Es gibt eine verbesserte Unterstützung für Regionen und Sprachvarianten (z. B. de_DE und de_CH neben de). Die automatische Erkennung zusätzlich vorhandener Sprachpakete wurde verbessert. Die Konfiguration für die Übersetzung von Modulen und Themes wird automatisch auf Stand gehalten.