Der Service Core_Load
Der Service Core_Load verwaltet die abrufbaren Aktionen der
. Diese werden durch Module
repräsentiert. Module wiederum sind natürlich ebenfalls nach Parts
untergliedert. Core_Load erhält Parameter - üblicherweise
über GET-Parameter o.Ä. - und lädt die angeforderten Module.
Module
Module sind wie erwähnt Code-Teile, die eine bestimmte Aktion
ausführen und auf Anforderung geladen werden. Eine Aufgabe eines typischen
Moduls wäre z.B. die Durchführung eines User-Logins. Natürlich
sind Module eigentlich Objekte, die einer Unterklasse der Klasse Core_GenericController angehören.
Es lässt sich jedoch noch eine Unterteilung vornehmen. Denn
das Modul Main übernimmt innerhalb eines Parts
eine Sonderaufgabe: Es repräsentiert den Part als Gesamtes und muss
spätestens dann aufgerufen werden, wenn eines der anderen Module
angefordert wird. Der Aufgabenbereich dieses Moduls liegt nämlich in der
Durchführung allgemeiner Aufgaben und der Vorbereitung für die
anderen Module. Entsprechend gehört es der Klasse Core_Part an, die ihrerseits natürlich von Core_GenericController erbt.
Die anderen, spezielleren Module haben entsprechend auch ihre
eigene Klasse, nämlich Core_Module. Die
vielleicht verwirrend wirkende Namensgebung rührt daher, dass Module und
Parts technisch gesehen nahezu identisch funktionieren. Die Unterscheidung
geschieht hauptsächlich durch die Funktion, die ihnen der Service Core_Load
zuweist.
Schließlich ergibt sich daraus folgendes Schema:

Die Anzahl der Module und Parts ist dabei natürlich beliebig.
Ablauf
Es wird von Core_Load jedoch zwischen Instanziierung des Moduls und
Ausführung des Codes unterschieden. So lässt sich der Vorgang
praäzise steuern. Parts werden im Übrigen nur einmal instanziiert,
aber jedesmal, wenn ein Modul ausgeführt wird, vorher ebenfalls
ausgeführt.