Mit der Veröffentlichung von Joomla! 3.8 wurde ein erster Kompatibilitäts-Layer für Joomla! 4 veröffentlicht.
Was enthält dieser Layer? Warum wird ein solcher Layer benötigt? Diese Fragen werden in diesem Beitrag beantwortet.
Ich habe euch hier den Artikel von der Joomla! Developer Website auf Deutsch übersetzt:
Namespaces
Eine grosse Änderung in Joomla! 4 sind die Namespaces. Eine Funktion, die seit PHP 5.3.0 existiert und 2009 eingeführt wurde. Die gesamte PHP-Community hat sich darauf eingestellt und Joomla! will in diesem Bereich nicht zurückbleiben. In Joomla! 4.0 wird die Kernarchitektur die Unterstützung und weitgehende Verwendung von PHP-Code in PHP Namespaces-Schreibweise sein. Dies gilt für die Kernbibliotheken und Erweiterungen.
Warum einen Migrations-Layer?
Wir haben ein Versprechen gegeben, dass eine Joomla! 3-Erweiterung auf Joomla! 4 laufen wird und eine Joomla! 4-Erweiterung mit Namespaces auf Joomla! 3.9 ausgeführt werden kann. Um das zu erreichen, haben wir uns entschlossen, Schritt für Schritt vorzugehen. So können wir das Risiko von Fehlern reduzieren und geben so den Entwicklern genügend Zeit für die Anpassungen ihrer Erweiterungen.
Der erste Schritt war die Einführung des Namespace-Bibliotheken-Ordners in Joomla! 3.8. Das bedeutet, dass Klassen wie JForm
jetzt den Klassennamen \Joomla\CMS\Form\Form
haben. Um die Abwärtskompatibilität zu erhalten, funktionieren die alten Klassennamen weiterhin. Das ist der Migrations-Layer, von der wir gesprochen haben.
Klassen, die noch in den Ordnern /libraries/cms
, /libraries/joomla
und /libraries/legacy
vorhanden sind, werden in Joomla! 4 grösstenteils abgenabelt oder entfernt. Es gibt noch eine Ausnahme, das Dateisystem-Paket. Wir hatten nicht genug Zeit, um es für die Version 3.8.0 zu konvertieren. Das wird aber in 3.9 geschehen.
Was soll ich mit meinen Erweiterungen machen?
Wenn du planst, eine neue Erweiterung für Joomla! 3 zu schreiben, dann musst du es immer noch auf die bisherige Art und Weise tun. Du kannst zwar für die Klassen die neuen Namespaced-Libraries verwenden, aber gerade für Komponenten müssen die Klassen immer noch NICHT-Namespaced sein. Wir werden die meisten Joomla! 4 Features dann in 3.9.0 einbauen, da 3.8 jetzt im Bugfix-Modus ist.
Aktueller Stand von Joomla! 3.9
Wir haben noch nicht damit begonnen, die Funktionen von Joomla! 4 auf 3.9 zu portieren. Weil im Moment gibt es noch einige Probleme in der Version 4, die zuerst behoben werden müssen, bevor man mit der Entwicklung von Joomla! 3.9 beginnen kann. Das bedeutet, dass es noch keinen Sinn macht, an Joomla! 3.9 zu arbeiten.
Ressourcen
Die vollständige Joomla! 4 Roadmap ist auf der Developer-Seite veröffentlicht. Wenn du gerne einen Blick auf den neuesten Joomla!-Code werfen willst, kannst du die „Nightly Builds“ runterladen und testen. Fragen zum Thema sollten in der Entwickler-Mailingliste gestellt werden, aber die meisten Probleme mit der Abwärtskompatibilität werden bereits hier erklärt.
Quelle: developer.joomla.org