Was macht mein System eigentlich?
Als Betreiber einer Webseite gibt man unter Umständen so viel Geld für ein CMS aus, dass man davon ein Haus bauen könnte. Also auch schon mal ein so richtig großes, in dem in der Kölner Innenstadt eine ganze Reihe von Wohnungen einrichten könnte. Da möchte man vielleicht auch mal wissen, was man da eigentlich eingekauft hat.
Black Box .NET
Wenn man ein System auf Basis von MicroSoft .NET einkauft, dann hat man oft keine Möglichkeit ins System reinzusehen, was dieses da eigentlich macht. Warum baut mein Server dauernd eine 2 GB große Datei auf dem Server auf? Was passiert bei der Anbindung des Shops? Was hat der Dienstleister da eigentlich programmiert? Warum stürzt das System alle paar Stunden ab? Ich habe nur einen Besucher pro Sekunde, der Server hat vier Kerne und keine andere Webseite zu rendern, warum liegt die Serverlast dauernd bei 99%? Alles Fragen, die man nicht beantworten kann, weil man eine Black Box eingekauft hat.
Volle Kontrolle in PHP System bei TYPO3
Bei PHP Systemen wie TYPO3 ist dies anders. Ich kann ins System reinsehen und nachvollziehen, was die Webseite da gerade anstellt. Vor allem: Ich kann mir einen Überblick über verschiedene Klassen und Funktionen verschaffen, die das System bietet. Am Beispiel von TYPO3 bieten sich da zum Beispiel die Magic Functions an, mit denen man bei der Programmierung von Extensions Objekte und Listenansichten mit sehr wenigen Zeilen Quellcode und einer klar definierten Syntax abfragen kann. All dies weiß man nur deshalb, weil man in den Code des Systems reinsehen kann. Auch fällt es erheblich einfacher, diesen Quellcode zu erweitern, weil man bestimmte Funktionen von TYPO3 als Basis für eigene Klassen nutzt. Ein riesiger Vorteil eines Systems wie TYPO3. Aus Kundensicht kommt hinzu, dass man sich ansehen kann, was die Agentur da gemacht hat. Und man muss sich nicht über Monate hinweg mit dem Chef der beauftragten Agentur über die Herausgabe des Quellcodes streiten, wenn man vermutet, dass die Agentur da einen ordentlichen Bock geschossen hat.