Namespaces
GRIS verwendet Namespaces, damit Klassen automatisch inkludiert werden
können. Das dynamische Nachladen von Code wird über
spl_autoloader_register realisiert und ist sowohl in den Seiten, als
auch in den Services (auch REST) verfügbar.
Die Funktionalität wird von den zentralen Header-Dateien zur Verfügung gestellt (Siehe auch Verfügbare Variablen und Funktionen).
Vendorname
Der Vendorname lautet GRIS. Alle Angaben für Namensräume beginnen immer mit GRIS.
Beispiele für Namespaces:
namespace GRIS\classes; // für Klassen
namespace GRIS\responder; // für Ajax-Responder
namespace GRIS\service; // für AJAX-Services
Verwendung von Callback-Funktion
Auch bei Callback-Funktionen muss zwingend der Namespace der jeweiligen Datei beachtet werden. Im Beispiel wird eine PHP-Funktion some_function innerhalb der Klasse aufgerufen:
call_user_func_array("\\some_function", $args);
Ist some_function eine Klassenmethode, muss der komplette Name angegeben werden:
call_user_func_array(__NAMESPACE__."\\CLASSNAME::some_function", $args);
Außerhalb von Klassen (in „normalen" PHP-Dateien) muss ebenfalls der korrekte Namespace angegeben werden. Voraussetzung ist, dass er zu Anfang des Codes angegeben wird, damit __NAMESPACE__ korrekt ist:
call_user_func_array(__NAMESPACE__."\\some_function", $args);
Hinweis
Wichtig: beim Aufruf von Callback-Funktionen muss im String immer der Backslah escaped werden.
Beispiel:
"\\some_function" oder „GRIS\\classes\\xyz“.