CMSstash

Kapitel 3

CMS auf PHP-Basis

Die meisten Content Management Systeme (CMS) basieren auf der Scriptsprache PHP. Dazu gehören sowohl Open Source CMS wie WordPress, Joomla oder ProcessWire, als auch junge kommerzielle Systeme wie Craft oder Statamic. Auch unter den Enterprise-CMS finden sich mit Drupal oder Typo3 einige bekannte Vertreter.

PHP ist als relativ einfache Script-Sprache für Web-Anwendungen entstanden und hat in den 90er Jahren Perl als die vorherrschende Programmiersprache im Web abgelöst. In der Anfangszeit folgte PHP einem simplen prozeduralen Stil und war vergleichsweise einfach erlernbar. Bis heute sind die Barrieren für den Einstieg in PHP vergleichsweise gering. Gleichzeitig hat sich PHP jedoch zu einer reifen Entwicklungssprache mit Objekt-Orientierung, Namespacing und Type-Hinting gemausert. Gut geschriebene PHP-Anwendungen unterscheiden sich daher so gut wie nicht mehr vom Code-Stil anderer Programmiersprachen.

Für die große Beliebtheit und Verbreitung von PHP gibt es verschiedene Gründe:

  • Der Einstieg in PHP ist immer noch relativ einfach, zudem kann man ohne zusätzliche Web-Frameworks oder Zwischenschichten einfach loslegen. Das war die Basis für den Erfolg von PHP.
  • PHP ist heute De-Facto bei jedem Hoster und bei jedem Hosting-Packet vorinstalliert. Mit anderen Sprachen wie zum Beispiel Node.js ist man dagegen auf speziellere Hosting-Angebote angewiesen.
  • Durch die starke Verbreitung ist die Entwicklung mit PHP in der Regel günstiger als zum Beispiel mit Java.
  • Außerdem ist die PHP-Welt recht agil und neue Trends werden schnell aufgegriffen. Meistens findet man in kürzester Zeit für einen neuen Trend gleich mehrere PHP-Anwendungen.

Im Enterprise-Bereich hat die Programmier-Sprache Java seine dominante Stellung weitestgehend behauptet. Java war von Anfang an objektorientiert und erforderte durch strengere Regeln einen höheren Code-Standard. Außerdem ist Java als kompilierte Sprache deutlich performanter als die Scriptsprache PHP. Die Performance von PHP ist auch heute noch niedriger, hat sich mit PHP7 jedoch noch einmal spürbar erhöht. Dennoch hat man durch die Historie von PHP, seinen losen Regeln und die Vermischung von Code-Stilen häufig größere Probleme mit Alt-Lasten (sogenannten Legacy-Code), als bei Sprachen mit höheren Standards. Mit solchen Alt-Lasten schlagen sich auch fast alle Content Management Systeme älteren Baujahrs herum, angefangen von WordPress bis zu Typo3.

Neben PHP und Java sind im CMS-Bereich vor allem noch Python und Ruby zu nennen. Und natürlich hat sich mit dem Aufstieg der Frontend-Welt JavaScript zur alles überragenden Sprache entwickelt. Allerdings sind komplette Content Management Systeme mit JavaScript immer noch vergleichsweise selten, nicht zuletzt weil serverseitiges JavaScript wie Node.js von den großen und verbreiteten Webhostern in den Standard-Hosting-Packeten kaum unterstützt wird. Die Verbreitung von Sprachen ist außerdem stark abhängig von dem jeweiligen CMS-Segment. Bei Flat-File-Systemen basieren fast alle CMS auf PHP. Dagegen findet man im Enterprise-Bereich neben Java auch noch andere Sprachen wie .NET. Bei den beliebten Static Site Generatoren sind JavaScript, Python und Ruby stark verbreitet. Und auch die neuen Headless-CMS arbeiten häufiger mit Java, Phyton oder JavaScript und nur seltener mit PHP.