PHP-Lektionen – Teil 3 – Erstellung eines eigenen CMS
Die Erstellung von Websites mit CMS beschränkt sich nicht nur auf Drupal, Joomla und Wordpress. Die meisten Websites weltweit werden mit selbstgeschriebenen CMS erstellt. Obwohl es bereits viel PHP-Code gibt, nutzen Programmierer sehr oft ihre eigenen Entwicklungen. Lassen Sie uns verstehen, warum man ein eigenes CMS verwenden sollte.
Ja, es gibt Drupal, ein mächtiges System mit vielen Modulen, Hooks und Funktionen zum Erstellen eigener Module. Viele können ihre eigenen Module schreiben, aber sehen wir uns an, wie viele Menschen eigentlich am Kern von Drupal arbeiten. Sicher haben Sie gelesen, dass Drupal die Arbeit von Hunderten oder sogar Tausenden Programmierern ist. Doch schauen wir mal, wer Drupal tatsächlich macht.
Auf der Download-Seite von Drupal gibt es einen Abschnitt mit einer Liste der Programmierer, die am Kern von Drupal, also am CMS selbst, arbeiten.
drupal.org/node/3060/committers?sort=desc&order=Commits
Auf dieser Seite finden Sie eine Liste der Entwickler mit den Änderungen, die sie am Kern vorgenommen haben. Hier die Liste:
Entwickler | Letzte Änderung | Erste Änderung | Änderungen |
---|---|---|---|
Dries | vor 3 Tagen | vor 11 Jahren | 10501 Änderungen |
webchick | vor 5 Tagen | vor 3 Jahren | 3108 Änderungen |
Gábor Hojtsy | vor 2 Tagen | vor 4 Jahren | 1635 Änderungen |
Steven | vor 4 Jahren | vor 11 Jahren | 1156 Änderungen |
drumm | vor 1 Jahr | vor 5 Jahren | 764 Änderungen |
killes@www.drop.org | vor 4 Jahren | vor 6 Jahren | 506 Änderungen |
Kjartan | vor 5 Jahren | vor 11 Jahren | 383 Änderungen |
catch | vor 2 Tagen | vor 21 Wochen | 329 Änderungen |
Jeroen | vor 10 Jahren | vor 11 Jahren | 101 Änderungen |
Git Migration | vor 1 Jahr | vor 10 Jahren | 38 Änderungen |
jhodgdon | vor 2 Tagen | vor 3 Tagen | 3 Änderungen |
quicksketch | vor 16 Wochen | vor 16 Wochen | 3 Änderungen |
pillarsdotnet | vor 23 Wochen | vor 23 Wochen | 2 Änderungen |
Beginnen wir mit der Liste:
Dries (10k Änderungen) – vollständig Dries Buytaert, Gründer des Drupal-Projekts. Wie Sie sehen, gibt es Drupal seit über 11 Jahren. Dries gründete die Firma Acquia, die technischen Support für Drupal-Websites anbietet (nicht kostenlos, im Gegensatz zu Drupal selbst) und die Entwicklung von Drupal und Modulen unterstützt. In einem Interview erwähnte Dries, dass er nicht mehr direkt als Programmierer an Drupal arbeitet, sondern hauptsächlich das Unternehmen Acquia leitet. Die große Anzahl seiner Kern-Änderungen erklärt er damit, dass ihm fertige Patches geschickt werden, die er dann nur noch integriert.
webchick (3k Änderungen) – vollständiger Name Angie Byron, Entwicklerin der Drupal 7 Version. Sie arbeitet(e) bei Lullabot, laut Profil auf drupal.org sollte man sie für Projekte über Acquia engagieren. Angie entwickelte auch Drush, ein Toolset für die Arbeit mit Drupal über die Konsole. Heute ist sie eine der führenden Drupal-Entwicklerinnen.
Gábor Hojtsy – einer der Hauptentwickler der Drupal 6 Version. Er arbeitete auch an der Internationalisierung und Übersetzung von Drupal 7.
Natürlich gibt es auch andere Kern-Entwickler, die sich auf einzelne Teile von Drupal konzentrierten. Aber diese Entwickler sind die Hauptakteure. Somit zeigt sich, dass trotz der Behauptung, Drupal sei das Werk von Tausenden Programmierern, der Kern von Drupal von wenigen Personen entwickelt wird. Das bedeutet, selbst große CMS werden von wenigen Menschen entwickelt.
Kehren wir zur Ausgangsfrage zurück: Warum sollte man sein eigenes CMS entwickeln? Erinnern Sie sich, wie viel Zeit Sie gebraucht haben, um Drupal zu erlernen? Für manche Programmierer dauert die Erstellung eines eigenen CMS weniger lang als das Lernen einer CMS von der Größe Drupals.
PHP ist eine einfache Sprache (im Vergleich zu anderen Sprachen), jeder kann Code in PHP schreiben, für einfache Dinge braucht man keine besonderen Kenntnisse. Natürlich müssen Sie mit der Zeit viel lernen, um ein skalierbares CMS zu entwickeln. Schauen wir uns zunächst die Vorteile eines eigenen CMS an:
1. Sie wissen, wo und was bei Ihnen liegt. Wie oft schauen Sie in den Code von taxonomy.module oder comment.module? Ich sehr selten, und Sie? Es entsteht keine Notwendigkeit. Der Code ist geschrieben, Funktionen sind dokumentiert, Templates können überschrieben werden. Und wenn ein Problem oder Fehler auftritt? Dann schreiben Sie auf drupal.org und warten, bis überlastete Kern-Entwickler antworten? Das ist meiner Meinung nach keine Lösung.
2. Höhere Geschwindigkeit. Es ist kein Geheimnis, dass Drupal langsam ist und viele Datenbankanfragen sendet. Ein selbstgeschriebenes CMS läuft viel schneller. Allerdings gibt es für Drupal bereits Module zur Optimierung und Caching, daher betrifft dieses Problem meist Shared-Hosting.
3. Selbstbestimmung. Sie können die Regel „Kern nicht anfassen“ ignorieren und direkt im Kern Änderungen vornehmen. Das ist sehr bequem und Sie müssen nicht auf eine neue Kernversion warten, um Ihre Änderungen zu aktivieren.
Natürlich gibt es auch Nachteile, aber ... darüber wollen wir jetzt nicht sprechen. Es ist bekannt, dass Drupal gut ist, und das müssen wir nicht wiederholen.
Also, Sie haben sich entschieden, Ihr eigenes CMS zu schreiben – beginnen wir.