Registry

1. Einleitung

Die Registry (siehe Registry) dient im Adventure PHP Framework als zentrale Stelle für die Speicherung von globalen Konfigurationsparametern. Parameter sind in diesem Zusammenhang sowohl einfache Datentypen wie Zeichenketten und Zahlen als auch Objekte.

Die Registry wird auch hinsichtlich der Konfiguration des APF von einigen Komponenten aus dem core- und tools-Bereich verwendet. Die folgende Liste zeigt die genutzten Werte:

Namespace Schlüssel Standard-Wert Beschreibung Verwendung
APF\core Environment DEFAULT Definiert die Umgebung, in der die Applikation eingesetzt wird. Details zur Anwendung finden Sie unter Konfiguration.
APF\core InternalLogTarget apf Definiert den Namen des Standard-Log-Ziels. Details zur Anwendung finden Sie unter Logger.
APF\core Charset UTF-8 Definiert den für String-Funktionen definierten Zeichensatz. Der Zeichensatz kommt beispielsweise bei htmlspecialchars()- bzw. htmlentities()-Aufrufen zum Einsatz.

2. Einsatz der Registry

Die Registry steht als statischer Container zur Konfiguration von Parametern des Frameworks und eigenen zur Verfügung. Die Methode register() dient dazu, bereits vorhandene Werte zu manipulieren oder neue Werte hinzuzufügen. Die Funktion retrieve() bezieht Werte aus der Registry. Um eine definierte Abgrenzung zwischen Wertebereichen zu schaffen, besitzt die Registry Namespaces. Um auch bei der Verwendung durch weitere Applikationen keine Überschneidung von Wertebereichen zu generieren, ist es ratsam, den Namespace der Applikation als Namespace in der Registry zu verwenden.

Um die oben genannten Standard-Werte zu manipulieren, kann folgender PHP-Code eingesetzt werden:

PHP-Code
Registry::register('APF\core', 'Environment', 'TESTSERVER'); Registry::register('APF\core', 'InternalLogTarget', 'foo'); Registry::register('APF\core', 'Charset', 'UTF-16');

Bei der Manipulation der Standard-Werte oder auch von eigenen Registry-Einträgen ist darauf zu achten, dass diese vor dem Erstellen des Page- bzw. FrontControllers geändert werden. Details zur Konfiguration Ihrer Anwendung in der Bootstrap-Datei können Sie im Kapitel Grundlagen nachlesen.

Das Auslesen der zuvor gesetzten Werte lässt sich wie folgt erledigen:

PHP-Code
$env = Registry::retrieve('APF\core', 'Environment'); $logTarget = Registry::retrieve('APF\core', 'InternalLogTarget'); $charset = Registry::retrieve('APF\core', 'Charset');

3. Schreibschutz

Um bei Einträgen für eigene Applikationen sicher gehen zu können, dass diese während der Laufzeit nicht mehr verändert werden können, bietet die Registry einen Schreibschutz. Dieser kann mit einem optionalen Parameter bei der Befüllung eines Wertes aktiviert werden und bleibt bis zum Ende des Requests erhalten. Hierzu kann folgendes Beispiel als Quellcode-Vorlage hinzugezogen werden:

PHP-Code
// Wird erfolgreich durchgeführt Registry::register('VENDOR\module', 'param-one', 1, true); // Erzeugt eine Exception Registry::register('VENDOR\module', 'param-one', 2);

Kommentare

Möchten Sie den Artikel eine Anmerkung hinzufügen, oder haben Sie ergänzende Hinweise? Dann können Sie diese hier einfügen. Die bereits verfassten Anmerkungen und Kommentare finden Sie in der untenstehenden Liste.
Für diesen Artikel liegen aktuell keine Kommentare vor.