Entwicklung - Grundlagen


Verzeichnisstruktur


Die Skripte, aus denen das System besteht, sind in zwei Verzeichnisse aufgeteilt. Das Hauptverzeichnis enthält alle Skripte, die direkt vom System aufgerufen werden. Skripte oder Skriptteile, die in ein oder mehrere Skripte eingebunden werden, sind im Unterverzeichnis includes/ abgelegt. Die Skripte, welche die Datenbank anlegen, sind im Unterverzeichnis sql/ enthalten, sie sind mit dem Programm mysqldump erstellt worden. Die Dokumentation finden Sie im Unterverzeichnis doc/, wo sich dieses Handbuch und die regelmäßig gestellten Fragen (FAQ) befinden.

Bei der Erstellung neuer Skripte sollten Sie von der Verwendung der folgenden Bausteine Gebrauch machen, die durch das gesamte System hindurch eingesetzt werden.

session.inc


Diese Seite muss auf jeder Seite eingebunden werden, nachdem die Variable $PageSecurity mit einem entsprechenden Wert versorgt wurde (siehe Abschnitt Sicherheitskonzept). Das Skript session.inc hat folgende Funktionen:


header.inc


Diese Datei sollte eingebunden werden, nachdem die Variable $title mit dem Namen der Seite versorgt wurde. Sie setzt voraus, dass die config.php bereits geladen wurde ebenso muss die session.inc natürlich vor der header.inc eingebunden sein. Das Programm hat die folgenden Funktionen:

* es gibt den Seitenkopf mit dem Menü (Hauptmenü, Kundensuche, Materialsuche, Lieferantensuche, Handbuch, Abmelden) aus.
* es setzt das Cascaded-Style-Sheet, das das vom Benutzer ausgewählte Layout auf die folgenden Seiteninhalte anwendet.

footer.inc


Diese Datei enthält das Datum, ein kleines Logo, den Firmennamen, den Copyright-Hinweis und die abschließenden HTML-Tags .

config.php


Der Programmierer sollte sich selbst mit den Variablen in config.php vertraut machen, weil diese für alle Scripte, welche die session.inc eingebunden haben, verfügbar sind. Von grundlegender Bedeutung ist $rootpath, welche das Verzeichnis beschreibt, in dem der Webserver die Systemdateien findet. Wenn Sie die Seite mit session.inc und header.inc beginnen und mit footer.inc abschließen ist die meiste Arbeit schon getan, die ein einheitliches Aussehen sichert.

PDFStarter.php


Der einzige Fall, wo es nicht angemessen ist, die Dateien session.inc und header.inc einzubinden, ist wenn eine PDF-Datei erstellt werden soll. Hierfür enthält die Datei PDFStarter.php die Eröffnung der Sitzung und die Überprüfung der Benutzeranmeldung und der Seitenberechtigung mit Hilfe der Variablen $PageSecurity, die natürlich wieder belegt werden muss, bevor Sie die PDFStarter.php einbinden. Normalerweise werden config.php und ConnectDB.inc einzeln (und noch vor PDF_starter_ros.inc) in die PDF-Scripte eingebunden.

Datenbank-Abstraktionsschicht - ConnectDB.inc


Obwohl das System unter MySQL entwickelt wurde, wurde immer mit berücksichtigt, dass die Benutzer nicht auf MySQL festgelegt bleiben, ganz im Sinne der Open-Source-Prinzipien. Aus diesem Grunde werden alle Datenbankanforderungen über die abstrahierenden Funktionen in der ConnectDB.inc abgewickelt. Diese Vorgehensweise wurde konsequent gehandhabt und die Entwicklung von Erweiterungen, die nicht diesem Schema folgen, würde die momentan mögliche Übertragbarkeit zwischen Datenbanken zerstören. Um zu sichern, dass Probleme bei Datenbankumsetzungen gering bleiben, muss auf durchgängig den Standards entsprechende SQL Wert gelegt werden.

DateFunctions.inc


Dieses Skript enthält eine Reihe von Funktionen für Datumsumwandlungen, die durch das System verwendet werden - die wichtigsten davon:


SQL_CommonFunctions.inc


Dieses Skript hat einige allgemeine Funktionen, die durch das System hinweg angewendet werden, im Besonderen:


Zurück zum Inhaltsverzeichnis
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki