Dies ist eine alte Version des Dokuments!
Modulprogrammierung
Grundlagen
Jedes Modul besteht aus mindestens zwei Skriptdateien: dem Skript, welches die Datenverarbeitung durchführt, (im Folgenden als Hauptskript bezeichnet) und mindestens einem Skript, welches die Datenausgabe zum Browser definiert (im Folgenden Templateskript genannt).
Hauptskript
Das Hauptskript ist die Datei, die unmittelbar vom Benutzer aufgerufen wird. In ihr sollte die komplette Datenverarbeitung der Eingaben erfolgen. Ausgaben an den Browser (bspw. via echo) sollten hier dagegen nicht stattfinden. Um das Hauptskript in das Tool einzufügen, sind einige wenige Vorkehrungen zu treffen, die im folgenden Code veranschaulicht sind:
<?php define('INCLUDING_ENABLED', true); $root_path = './'; require_once($root_path . 'includes/common.php'); ... templateRender('mypage'); ?>
Zu aller erst ist die Konstante INCLUDING_ENABLED als true zu definieren. Ohne diese Vorkehrung verweigert der Kern des Tools jegliche Ausführung. Dies ist Teil eines Sicherheitskonzeptes, welches hier aus Platzgründen nicht näher erläutert werden soll. Danach wird in der Variablen $root_path der Pfad zum Wurzelverzeichnis definiert. Da bisher alle Skripte im Wurzelverzeichnis liegen, kann die obige Zeile einfach übernommen werden; sollte sich das in Zukunft ändern, bekommst du den korrekten Pfad von mir mitgeteilt. Zuletzt wird die Datei common.php, so wie oben notiert, eingebunden. Dadurch wird der gesamte Kern des Tools initialisiert: Datenbankanbindung hergestellt, Benutzerinformationen abgerufen, Sessions aktualisiert, Konfigurationsdaten gelesen, alle wesentlichen Funktionen zur Verfügung gestellt, etc.
Anschließend kannst du frei programmieren. -.-
Zum
Variablenname | Funktion |
---|---|
$userdata['user_id'] | Interne ID des angemeldeten Benutzers |
$userdata['user_name'] | Benutzername des angemeldeten Benutzers |
$userdata['user_level'] | |
$userdata['user_signature'] | Signatur des angemeldeten Benutzers (falls angegeben) |
$userlevel[] | Array mit der Rollenbeschreibung zur jeweiligen Level-ID |