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: Schema des Load-Service 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.