Aufbau eines Moduls

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Es gibt einige Elemente, die in allen eStudy-Modulen vorhanden sind. Dazu zählt ein spezieller Kommentarblock, einige Einbindungen (Includes) anderer Dateien und die Definition einer Konstanten. Im Ordner Vorlagen befindet sich die Datei Modul.php, die Sie als Vorlage für eigene Module verwenden sollen.

Hier die wichtigen Bestandteile im Einzelnen:

Page-Level-Doc-Block

Dieser Kommentarblock ist jeder Script-Datei des eStudy-Portals vorangestellt, auch allen Klassen-Dateien.

/*--------------------------------------------------------------------------+
This file is part of eStudy.
- Beschreibung: BESCHREIBUNG.
- Autor(en):    VORNAME NACHNAME <E-MAIL-ADRESSE>, 
                VORNAME NACHNAME <E-MAIL-ADRESSE>
+---------------------------------------------------------------------------+
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or any later version.
+---------------------------------------------------------------------------+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+--------------------------------------------------------------------------*/

/**
 * BESCHREIBUNG
 *
 * @author VORNAME NACHNAME <E-MAIL-ADRESSE>
 */

Ersetzen Sie ab Zeile drei die Worte BESCHREIBUNG, VORNAME, NACHNAME und E-MAIL-ADRESSE durch entsprechende Texte. Es ist wichtig, eine sinnvolle Beschreibung zu wählen. Texte wie "In dieser Datei wird die Klasse BlaBlubFeuerstein implementiert" bringen keinen Mehrwert und können daher genauso gut weggelassen werden.

Die Konstante PATH_TO_ROOT

Nach dem Kommentarblock folgt die Definition der Konstante PATH_TO_ROOT:

/** relativer Pfad zum Root des Portals */
define("PATH_TO_ROOT", "../");

Diese Angabe muss an die Position des Scriptes angepasst werden und immer direkt auf den web-Ordner zeigen.

Sollten Sie ein Script im Root-Verzeichnis ablegen, lassen Sie die Konstante nicht leer, sondern schreiben Sie

define("PATH_TO_ROOT", "./");

Je nach Anwendungszweck Ihres Moduls können noch weitere Konstanten definiert oder verwendet werden.

Initialisierungs-Datei, Header und Footer

Wie in der Vorlage ersichtlich, müssen in jedes Modul (nicht in Klassendateien) noch folgende Dateien per require_once eingebunden werden:

  1. common/init.inc.php: Hier wird die Session gestartet, die Konfiguration eingelesen, allgemeine Klassen verfügbar gemacht, bei Bedarf auf das HTTPS-Protokoll weitergeleitet, das Objekt für den Datenbankzugriff bereitgestellt und das Script authentifiziert (Zugriffsrechte, Kurs-Auswahl etc.).
  2. common/header.inc.php: Ausgabe des Headers inkl. Menü (bei nicht allgemein zugänglichen Modulen) und Ausgabe einer Fehlermeldung, wenn die Scriptauthentifizierung fehlgeschlagen ist (mangelnde Zugriffsrechte, Modul nicht in Kurs aktiviert etc.).
  3. common/footer.inc.php: Nach dem eigentlichen Script-Inhalt wird noch der Footer eingebunden und die Script-Ausführung damit beendet.