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 der index.php).

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);

Tipp

Wichtig: beim Aufruf von Callback-Funktionen muss im String immer der Backslah escaped werden.

Beispiel

"\\some_function" oder „GRIS\\classes\\xyz“.