Funktionsweise
Am einfachsten erhält man wohl einen Einblick
in die , wenn nachvollzieht, was passiert, wenn sie
aufgerufen wird.
Das Initscript
Die wird immer über ein sogenanntes
Initscript aufgerufen. Diese finden sich unter core/initscripts/, auch wenn ihr Ort prinzipiell nicht
festgelegt ist.
Ein Initsript definiert ein paar Parameter und ruft die Datei core/main.inc.php auf.
Die main.inc.php
Hier wird zum einen das sog. SystemTheme
geladen. SystemThemes befinden sich in core/systhemes/, wobei ihr Aufenthaltsort vom Initscript
festgelegt wird und somit auch frei wählbar ist. Ein SystemTheme ist eine
Ansammlung von Festlegungen, dei das "Aussehen" des Systems festlegen. Dazu
gehören zB. Methoden, wie die Pfade oder Klassennamen zusammengebaut
werden.
Weiterhin lädt die main.inc.php das sog. Presystem, dessen einziger Sinn und Zweck es ist, nach
einigen Tests den Kernel zu laden.
Der Kernel
Am Ende der main.inc.php haben wir lso ein funktionsfähiges System
und geben dem Kernel den Befehl, "loszulegen".
Der Kernel ist bereits austauschbar. Die Möglichkeiten, was die
als Ergebnis haben kann, sind entsprechend
vielfältig. Der Kernel ist einzig an Core_Kernel als Elternklasse gebunden. Darin werden die
wichtigsten Funktionen eines Kernels festgelegt. Zum einen kann er in
verschiedenen Stufen und Modi laufen. Zum anderen muss der Kernel die Services verwalten.
Ein Service ist über den Kernel global verfügbar und bietet
gewisse Funktionen an. Ein Beispiel hierfür sind zB. Core_Services_Model, welches eine einheitliche
Schnittstelle zu jeder Form von Quelle bietet.
Weiteres...
Bis jetzt gab es schon einige Möglichkeiten, den Programmablauf
entscheidend zu beeinflussen. Welche Services nun geladne weren, entscheidet
ausschließlich der Kernel. In der weiteren Dokumentation wird deshalb vom
Standard-Kernel Core_Kernels_Heart ausgegangen. Er
lädt in dieser Reihenfolge die Services Core_Services_Model, Core_Services_Load und Core_Service_View.