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: