[AdSense-A]
Jeder PHP-Entwickler ist erfreut wenn Software mit der Zeit sich fort entwickelt, heutige Standards annimmt und diese auch umsetzt.
Auch OXID scheint in dieser Thematik allmählich mitzuziehen. Wer sich regelmäßig auf dem laufenden hält, wird entdeckt haben, dass neben der Einführung von Composer, es die Branch “b-dev-ce” und entsprechende “ESDEV-” Branches im offiziellen Github Repository gibt.
In diesen Branches kann derzeit ein komplettes Refactoring inkl. Bugfixes von OXID 6.0.0 beobachtet werden, welche zum positiven ausfallen.
Folgende Neuerungen habe ich bislang nachvollziehen können:
OXID 6.0.0
Allgemein
- Namespaces werden implementiert
- Autoloading wird geschwenkt auf PSR-4
- Doctrine 2 (DBAL) wird implementiert (ESDEV-3462)
- Einige der bislang implementierten Fremdbibliotheken werden geupgraded auf neuere Versionen dazu zählt z.B. der PHPMailer
Symfony Komponenten werden implementiert (z.B. filesystem)Choosen-Library wird für das Backend implementiert- Ggf. wird sich die ERP-Schnittstelle ändern, dazu gibt es bereits erste ImportObjects zum nachschlagen
Datenbank
- Tabellen werden von MyISAM auf InnoDB geschwenkt, welches die Möglichkeit für referentielle Integrität auch ermöglicht.
Module
- Guestbook wandert in ein eigenständiges Modul (Branch: extract_guestbook_to_module-ESDEV-3413)
- Captchas wandern ebenfalls in ein eigenständiges Modul (Commit: 5157d6d3513cbe207c616717f511876f1b3410f7)
- Das Encoding für die Sprache innerhalb des InvoicePDF-Moduls wird gefixed
Bislang sieht der derzeitige Entwicklungsstand vielversprechend aus. Es ist deutlich festzustellen, dass sich viele Dinge in OXID 6.0.0 positiv verändern werden. Sicherlich bleibt die Rückwärtskompatibilität auf der Strecke und viele Entwickler werden auch für ihre eigenen Module ein Refactoring voran treiben müssen, aber diesen Weg den OXID nun beschreitet, ist in meinen Augen, ein wichtiger Schritt für die Zukunft.
Es bleibt abzuwarten welche Neuerungen die Version 6.0.0 weiter mit sich bringen wird und wann sie Released. Die Version 6.0.0 sieht auch ebenfalls das Überladen von Modulen vor (welches auch in den derzeitigen Versionen möglich ist), es bleibt auch hier abzuwarten ob OXID 6.0.0 mit einer Abhängigkeitsverwaltung für ein solches Szenario an den Start geht.
Update:
Einige der hier im Blog-Eintrag angesprochenen Punkte scheinen zwar zum damaligen Zeitpunkt in den jeweiligen Branches existent gewesen zu sein. Allerdings aus direkten Quellen ist mittlerweile bekannt, dass z.B. Punkte wie:
- Symfony-Konponenten
- Choosen-Library (für JS typeahead)
nicht umgesetzt werden, und weiterhin nicht geplant sind.