The Joomla! Community Magazine™

Schneller, sicherer, stabiler - Joomla! und PHP7

Written by | Monday, 01 February 2016 00:00 | Published in 2016 February
Joomla ist eine CMS, das auf PHP & MySQL basiert. Die große Beliebtheit und Verbreitung von Joomla, war schon vor 10 Jahren und wie heute auch deshalb möglich, da man mit PHP & MySQL eine sehr verträgliche und moderne Basis für die Entwicklung gefunden hatte. In diesem Artikel möchten wir ein wenig die Historie betrachten und die Vor- und Nachteile von PHP7 in Verbindung mit Joomla 3.5 erläutern.
Schneller, sicherer, stabiler - Joomla! und PHP7 Helvecio da Silva - @helvecio

PHP und Joomla

Unterstützte Joomla 1.0 am Anfang noch PHP 4.2, so wurde mit jedem größeren Versionsprung auch die Mindestanforderung an die benötigte PHP Version angepasst. Somit war die Entwicklung von Joomla auch immer schon eng mit der Entwicklung von PHP verbunden und dessen Verbreitungsgrad bei den Shared-Webhostern.

Dies hatte einen einfachen und sehr logischen Grund. Mit jeder neuen PHP Version, kann man davon ausgehen, dass in Relation zu den gebotenen Funktionen, die Geschwindigkeit und die Stabilität besser wurde. PHP 5 erlaubte zum Beispiel eine bessere Unterstützung für objektorientiertes Programmieren, was es den Joomla Entwicklern ermöglichte, deutlich besseren Code zu schreiben – um nur ein Beispiel von vielen zu nennen. Viele dieser neuen Funktionen in PHP hatten direkte Auswirkungen auf die Joomla Sicherheit und Stabilität.

Verbesserungen in PHP 7

Neben den vielen funktionellen Erweiterungen in PHP 7, ist das größte Augenmerk auf die Geschwindigkeit gelegt worden. Dies merkt man bei Joomla Seiten mit wenigen Zugriffen nicht so sehr, aber nach einigen eigenen Messungen mit Joomla 3.5 Beta 2, kann man von 10% – 30% schnellerer Berechnung der Ausgabe ausgehen. Für eine einfache Umstellung der PHP Version, sofern der Webhoster dies anbietet, nicht schlecht. Größere Unterschiede merkt man bei gut besuchten Seiten. Wenn der Webserver mit PHP 5.6, 100 Anfragen pro Sekunde verkraften konnte, so kann  der gleiche Webserver mit PHP 7 ca. 200 - 300 Anfragen pro Sekunde abwickeln. Gerade sehr komplexe und rechenintensive Erweiterungen für Joomla dürften deutlich von PHP 7 profitieren.

Rückwärtskompatibilität

Joomla verwendet seit Joomla 1.5 die Klasse JString. In Joomla 3.3 wurde eine Framework eingeführt, indem auch der Name "string" für die identische Klasse verwendet wurde. Die Bezeichnung "JString" wurde eingeführt, um die im Framework verwendete Klasse "string" zu erweitern, da diese nur Duplikate waren. "String" ist ein geschützter Klassename in PHP7, deswegen wurde dies in Joomla von String to StringHelper umbenannt.

Wenn man bisher Jstring verwendet hat, dann kann man dies auch weiterhin tun und die Rückwärtskompatibilität ist gegeben. Sollten aber das "String" aus dem Framework verwendet worden sein, dann wird dies mit der Umstellung auf PHP7 nicht funktionieren. Das Problem der nicht vorhandenen Rückwärtskompatibilität wurde in Kauf genommen, da die Vorteile der neuen PHP Version die Nachteile der ausschließlichen Unterstützung älterer PHP Versionen bei weitem überwiegen..

Bedeutung für den Nutzer

Für viele Anwender wird sich in naher Zukunft die Frage nach dem Einsatz von PHP 7 erst gar nicht stellen, da einige der größten Webhoster immer noch auf PHP 5.5 oder 5.6 setzen. Für die Webhoster ist eine solche Umstellung mit Kosten verbunden und je nach Kunden- und Preissegment, werden diese Kosten soweit wie möglich in die Zukunft verschoben. Da hilft es dann nur, sanft und beständig nachzufragen, damit die Webhoster dem Wunsch nach einer modernen Webserverbasis auch nachkommen.

Ein paar Fakten zu den PHP Versionen:

  • PHP 5.3 - Wird nicht mehr weiterentwickelt.
  • PHP 5.4 - Wird nicht mehr weiterentwickelt.
  • PHP 5.5 - Erhält noch 5 Monate Sicherheitsupdates, danach wird es nicht mehr unterstützt.
  • PHP 5.6 - Wird noch 11 Monate weiterentwickelt, danach noch 2 Jahre mit Sicherheitsupdates versorgt.
  • PHP 7 - Bis Ende 2018 unterstützt.

Bedeutung für den Erweiterungsentwickler

Wer in seinem Code mit dem in PHP 7 reservierten Wort String arbeitet, muss seine Erweiterung für den Gebrauch mit PHP 7 anpassen, ansonsten sind sie nicht unter Joomla! 3.5 einsatzbereit. Der Aufwand sollte sich in Grenzen halten. Dies ist kein Joomla-spezifisches Problem und betrifft jeden Code, der auf PHP 7 lauffähig sein soll.

Fazit

Wenn Sie bei einem Webhoster Kunde sind, der PHP 7 unterstützt, probieren Sie es mit Joomla! 3.5 Beta 2 einfach mal aus. Bei einem internen Test mit Joomla 3.5 Beta 2 konnten wir keine Probleme feststellen. Bei den Dritt-Erweiterungen sieht es dahingegen anders aus. Bei ca. der Hälfte der getesteten Erweiterungen gab es entweder Fehler, die eine Funktion verhinderten, oder aber PHP schickte Warnungen und Hinweise, die die Funktion aber nicht unbedingt beeinträchtigten. Dieser Zustand sollte sich mit dem Erscheinen von Joomla! 3.5 Stable erledigt haben. Denn es ist im eigenen Interesse der meisten engagierten und aktiven Entwickler eine moderne, schnelle, effiziente und stabile Basis zu unterstützen!

Aktualisiert: Die Erläuterungen zur Rückwärtskompatibilität wurden besser dargestellt.

Read 3241 times
Tagged under German
Ufuk Avcu

Ufuk Avcu

I'm in love with CMS since PHPNuke and Joomla 1.0 was my personal game changer. Since then i use Joomla! by every single project and i really appreceate this great community!

I am the owner of small Agency for Joomla! in germany. Beside that im strongly involved in the joomla community in germany and the founder of the local JUG in Hamburg and the admin of the german Joomla! Facebook group!

Language Switcher

Current Articles