Pfade innerhalb der Anwendung¶
Jede Anwendung verwendet verschiedene Pfade zum Speichern von Informationen. Es gibt Pfade für das Speichern der Logdateien, Pfade für Bilder, CSS-Dateien und JS-Dateien.
Jede Anwendung verfügt zumindest über den Basispfad. Dieser kann über die Funktion
Locations::getBasePath()
geholt werden.
Die Pfade werden - bei der Verwendung des Dispatchers in der system.ini
festgelegt.
Die Klassen Alvine\Application\Configuration\Locations\Console
, Alvine\Application\Configuration\Locations\Assembly
und Alvine\Application\Configuration\Locations\Web
stellen Pfade für den
jeweiligen Typen einer Anwendung bereit.
Die Verknüpfung einer Anwendungsinstanz mit einem Location-Objekt erfolgt über die
Methode Assembly::getLocations()
. In der Standardimplementierung verwendet diese
Methode die Klassenkonstante LOCATIONS_CLASS
um die zu verwendende Klasse zu definieren.
Soll eine eigene Locations-Klasse verwendet werden, so kann im einfachsten Fall, die
Konstante LOCATIONS_CLASS
in der abgeleitete Anwendungklassen mit dem Namen der
gewünschten Locations-Klasse gesetzt werden.
Soll im Konstruktor der Locations-Klasse ein weiterer Wert übergeben werden, so
kann man die Methode Assembly::initLocationsInstance()
überschreiben.
protected function initLocationsInstance(): \Alvine\Application\Assembly {
$class=$this->getLocationsClass();
$this->locations=new $class($this->facility, 'My Value!');
return $this;
}
Der Aufruf in der Anwendung erfolgt folgendermaßen: