dbXwebApp Kernel
dbxWebApp.php arbeitet als Application Controller. Alle Aufrufe laufen grundsätzlich über dieses Script.
In diesem Script sind die Kern-Funktionen von
dbXwebApp includiert.
Die Scripte der gerade aktuell verwendetetn Module werden dynamisch eingebunden. Dadurch ist die ausführende
Anwendung immer nur so gross wie gerade nötig.
Der Kernel beinhaltet alle grundlegenden Funktionen für die Nutzung des Systems.
- Kernel (dbXwebApp.php)
- dbx_globals.php
- dbx_init.php
- dbx_install.php
- dbx_session.php
- dbx_cache.php
- dbx_api.php
- dbx_report.php
- dbx_run.php
- dbx_interpreter.php
- dbx_output.php
Der Kernel Übernimmt alle Datenbank Zugriffe. Dabei sorgt er für die Prüfung der Berechtigungen.
Auch sorgt der Kernel dafür das Inhalte gecahed werden und je nach Art der Ausgabe formatiert werden.
Module nutzen durch direkten Aufruf der im Kernel definierten Funktionen diese Möglichkeiten.
Modulle müssen aber keine dieser Funktionen nutzen und können auch völlig "eigenständig" sein.
Besonders vor zu heben ist dabei der Umgang mit Listen, Formularen und Daten im Allgemeinem.
Nahezu alle Inhalte und auch Teile der Programmlogik kommen bei dbxWebApp aus der Datenbank.
Diese Inhalte und Funktionsaufrufe lassen sich jeder Zeit
online erstellen/ändern.
Für alle Inhalte und Module gibt es in
dbXwebApp eine
einheitliche Verwaltung bei der jedem Modul,
jeder Tabelle und jedem Feld individuelle Eigenschaften zugewiesen werden können.
Für alle Datenbank-Tabellen und deren Felder legt
dbXwebApp jeweils ein
DataDictonary an.
Die Zugriffe auf Daten erfolgt durch die eingebauten Funktionen über diese DataDictonarys.
In diesen DataDictonarys kann z.B. auch festgelegt werden für welche Felder Auswahllisten oder Checkboxes
automatisch erstellt werden sollen. Auch eine Validierung der Daten kann im DataDictonary angegeben werden.
Innerhalb der Anwendung gibt es nahezu keine Zeile HTML-Code. Alles was HTML ist, ist bei
dbXwebApp Content oder Template. Diese Inhalte kommen überwiegend aus der Datenbank. Können aber auch statisch vom Filesystem kommen.
Ein, zwei zusätzliche Spalten in einer Liste, eine andere Sortierung. Das Entfernen von Formularfeldern u.s.w. bedarf bei
dbXwebApp keinerlei Änderungen an den PHP-Sourcen. Nahezu alles basiert auf Vorlagen und Inhalte.
Dabei ist das Design komplett entkoppelt und wird durch eine
CSS Datei gesteuert.