Methods summary
protected
|
#
__construct( string $path, integer $applicationMode = Alvine\Application\Assembly::APPLICATIONMODE_PRODUCTIVE , Alvine\Application\Configuration\Facility $facility = null )
Neues Anwendugs-Objekt erstellen.
Neues Anwendugs-Objekt erstellen.
Der Konstruktor erstellt ein neues Objekt und initialisiert die
Systeminstanzen für Environment, Encoding, System und Math.
Außerdem wird der Anwendung ein SystemLogger und ein Mailserver
zugewiesen.
Parameters
- $path
- $applicationMode
- $facility
Throws
|
public
|
|
protected
Alvine\Application\Assembly
|
|
protected
Alvine\Core\Event\EventQueue
|
#
getEventQueue( Alvine\Core\Event\Event $class )
Eventqueue für Event holen und
wenn noch nicht vorhanden anlegen
Eventqueue für Event holen und
wenn noch nicht vorhanden anlegen
Parameters
Returns
Alvine\Core\Event\EventQueue
Throws
Alvine\Types\TypeException
|
public
Alvine\Application\Assembly
|
#
subscribeEvent( Alvine\Core\Event\Subscriber $subscriber, type $eventClass )
Event abonnieren
Parameters
Returns
|
public
Alvine\Application\Assembly
|
#
unsubscribeEvent( Alvine\Core\Event\Subscriber $subscriber, type $eventClass )
Abmelden
Parameters
Returns
|
public
Alvine\Application\Assembly
|
#
triggerEvent( Alvine\Core\Event\Event $event )
Event Triggern
Parameters
Returns
|
public
Alvine\I18n\Locale
|
#
getLocale( )
Lokale der Anwendung
Returns
Alvine\I18n\Locale
|
public
Alvine\Application\Assembly
|
#
setApplicationMode( integer $mode )
Modus der Anwendung
Parameters
Returns
|
public
boolean
|
#
isApplicationMode( integer $mode )
Prüft ob die Anwendung in dem Modus ist
Prüft ob die Anwendung in dem Modus ist
Parameters
- $mode
- Prüfung auf den Mode
Returns
boolean
|
public static
Alvine\Application\Assembly
|
#
execute( string $assemblyClass, string $classPath = null, string $workingPath = null, integer $applicationMode = Alvine\Application\Assembly::APPLICATIONMODE_PRODUCTIVE , Alvine\Application\Configuration\Facility $facility = null )
Programm ausführen
Die execute-Methode sucht nach der gewünschten Anwendung, erstellt
ein Objekt der Anwendung, initiert dadurch die Konfiguration und ruft
im Anschluß den Taskhandler auf.
Über die optinalen Parameter $namespace und $path können im ersten Aufruf
die Anwendungsklassen inititalisiert werden. Bei weiteren Aufrufen, muss dies nicht
mehr erfolgen. Der Namespace kann aber auch normal im AutoLoader registriert werden.
Der Task-Handler sorgt dafür, das die in der Konfiguration
aufgeführten Task der Reihe nach ausgeführt werden. Durch die Flexibilität
der Tasks, können in der konkreten Anwendung unterschiedliche Szenarien
implementiert werden.
application.task=init
application.task=render
Über den Anwendungsmodus können bestimmte Regeln definiert werden. So
wird der Anwendungscache nur im Produktivsystem aktiviert.
Parameters
- $assemblyClass
- $classPath
- $workingPath
- $applicationMode
- $facility
Returns
Throws
|
public static
Alvine\Application\Assembly |null
|
#
getInstance( string $assemblyClass = null )
Instanz ermitteln. Wird keine
Instanzklasse angegeben, so wird
das aktuelle Objekt in der Instanz-Map
verwendet.
Instanz ermitteln. Wird keine
Instanzklasse angegeben, so wird
das aktuelle Objekt in der Instanz-Map
verwendet.
Wird kein Assembly gefunden, so wird
null zurückgegeben.
Parameters
Returns
|
public
boolean|Alvine\Application\Assembly
|
#
validateInstanceCache( )
Meßwerte überprüfen
Mit dieser Methode kann die Anwendung prüfen,
ob die zwischengespeicherte Anwendung noch
aktuell ist. Abgeleitetet Anwendungen müssen
die Methode Application::initCacheExaminer()
um die Werte erweitern, die für einen aktuelle
Anwendung wichtig sind.
Returns
Throws
Alvine\Cache\Probe\InvalidProbeException
|
protected
Alvine\Application\Assembly
|
#
initCacheExaminer( )
Instanzprüfung inititalisieren
Instanzprüfung inititalisieren
Abgeleitetet Anwendungen müssen
diese Methode um die wichtigen Meßwerte
erweitern. In dieser Implementierung
wird die Konfigurationsdatei als
Meßwert verwendet. Ändert sich die Konfigurationdatei,
so wird der Cache für ungültig erklärt.
Returns
|
public
boolean
|
#
isInstanceValide( )
Gültigkeit prüfen
Prüfen ob die Daten der Instanz noch gültig sind.
Returns
boolean Ergebnis
|
public static
|
#
refresh( string $assemblyClass )
Anwendungsklasse aktualisieren
Anwendungsklasse aktualisieren
Mit dieser Methode wird der Zwischenspeicher der
Anwendungsklasse geleert. Beim nächsten Aufruf von
Assembly::execute wird das Objekt für diese
Klasse neu erstellt.
Parameters
- $assemblyClass
- Klassenname und Namespace der Anwendung
|
public static
Alvine\Cache\CacheManager
|
#
getCacheManager( )
AppCache zur Beschleunigung von Anfragen
AppCache zur Beschleunigung von Anfragen
Diese Methode gibt den Anwendungscache
zurück. Im Standard ist das temporäre Verzeichnis
definiert. Dies sollte in der abgeleiteten Klasse
durch eine schnellere Variante (z.B. Memcache)
ersetzt werden.
Für Testzwecke und während der Entwicklung einer
Anwendung kann diese Methode null zurückgeben. In diesem
Fall wird kein Anwendungscache verwendet.
Returns
Alvine\Cache\CacheManager CacheManager
|
protected
Alvine\Application\Assembly
|
#
loadConfig( string $assembly,…, Alvine\IO\File\Directory $directory,… )
Konfiguration laden
Diese Methode lädt die Konfiguration der Anwendung. Je nach Dateierweiterung
wird eine von \Alvine\Types\Properties abgeleitete Klasse geladen. Für die
Erweiterung .properties wird ein Objekt der Klasse
\Alvine\Application\Configuration\Properties erstellt, für eine
Endung .txt würde die Klasse \Alvine\Application\Configuration\Text
initiert werden.
Parameters
- $assembly,…
- Name des Assembly
- $directory,…
- Verzeichnis der Anwendung
Returns
Throws
|
public
string
|
#
replaceEnvironmentPlaceholder( string $string )
Standardplatzhalter der Anwendung
Standardplatzhalter der Anwendung
Diese einfache Methode ersetzt in einer Zeichenkette
Platzhalter durch den entsprechenden Wert. Folgende Platzhalter stehen
zur Verfügung
Pfade
{CONFIGPATH} Pfad zu den Konfigurationsdateien
{ASSETSPATH} Pfad zu den Assets
{BASEPATH} Pfad zu Hauptverzeichnis der Anwendung (muss nicht das Webroot sein)
{LICENCEPATH} Pfad zu den Lizenzen
{REPOSITORYPATH} Pfad zum Repository
{RESOURCEPATH} Pfad zu den Resourcen
{TEMPPATH} Temporäres Verzeichnis des Systems
{LOGPATH} Pfad zum Logverzeichnis
Anwendung
{APPLICATIONID} UUID der Anwendung
Environment
{ENV:KEY} Environmentvariable $_ENV['KEY']
Parameters
Returns
string Inhalt mit ersetzten Platzhaltern
|
protected
Alvine\Application\Assembly
|
#
setDirectories( Alvine\IO\File\Directory $directory )
Verzeichnisse setzen
Setzt den Basispfad und alle abgeleiteten Pfade
Diese Methode initialisiert die Pfade für die Assets,
die Classes, Config, Vendors, Ressources und Views.
Unter Unix ist das Logverzeichnis im Standard auf /var/log/alvine/ gesetzt,
unter Windows auf %AllUsersProfile%\alvine\log. Als Fallback für andere Betriebssysteme wird
das Verzeichnis auf das Temporäre Verzeichnis gesetzt
Parameters
- $directory
- Basispfad der Anwendung
Returns
|
protected
Alvine\Application\Assembly
|
#
initSMTPClient( )
Mailclient initialisieren
Mailclient initialisieren
Initialisierung des Standard-Mail-Clients. Die Konfiguration erfolgt
über die Eigenschaften application.mail.delivery.** (siehe auch assembly.config)
application.mail.delivery.default.class Klasse, die den Versand übernimmt (von SMTPClient abgeleitet)
application.mail.delivery.default.server IP, oder Hostname des Mailservers (Standard ist localhost)
application.mail.delivery.default.port IP-Port des SMTP-Servers (Standard ist 25)
Returns
|
protected
Alvine\Application\Assembly
|
#
initLogger( )
Logging initialisieren
Inititalisierung des Standardloggers für das Logging. Die Konfiguration erfolgt
über die Eigenschaften application.logging.**. Der Logger muß von
der Klasse \Alvine\Util\Logging\Logger abgeleitet sein. Für die Verarbeitung
können die Handler über die Konfigurationsschlüssel
Returns
|
public
Alvine\Application\Configuration\Properties
|
#
getConfiguration( )
Konfiguration zurückgeben
Konfiguration zurückgeben
Liefert eine Kopie der Konfigurations. Änderungen
in dem Objekt haben keine Auswirkungen auf
die Anwenndung.
Returns
|
public
string
|
#
getConfigurationValue( string $key, string $default = null )
Diese Methode liest einen Konfigurationswert aus.
Ist der Schlüssel nicht angegeben, so wird der Default-Wert
zurückgegeben.
Diese Methode liest einen Konfigurationswert aus.
Ist der Schlüssel nicht angegeben, so wird der Default-Wert
zurückgegeben.
Wird ein Teilschlüssel angegeben, so wird ebenfalls
der Defaultwert zurückgegeben.
Parameters
- $key
- Schlüssel
- $default
- Wert
Returns
string Konfigurationswert
|
protected
Alvine\Application\Assembly
|
#
initStorage( )
Initialisiert die Struktur für den Objektspeicher.
Initialisiert die Struktur für den Objektspeicher.
Returns
|
public
Alvine\Application\Assembly
|
#
initStorageIndex( )
Initialisiert die Struktur für den StorageIndex.
Initialisiert die Struktur für den StorageIndex.
Returns
|
public
Alvine\Application\Assembly
|
#
registerStorage( string $className, Alvine\Persistence\ObjectStorage $storage )
Ein Storageobjekt registrieren.
Ein Storageobjekt registrieren.
Parameters
- $className
- Für diese Klasse oder das Interface gilt das Storageobjekt
- $storage
- Storageobjekt
Returns
|
public
Alvine\Application\Assembly
|
#
unregisterStorage( string $className )
Registrierung für eine Klasse aufheben
Registrierung für eine Klasse aufheben
Parameters
- $className
- Name der Klasse
Returns
|
public
Alvine\Core\Alvine
|
#
getObject( string $className, string $id )
Objekt aus dem Storage auslesen
Objekt aus dem Storage auslesen
Diese Methode liest ein Objekt aus dem in der
Konfiguration definierten Speicher aus. Der Klassenname
muss mit führendem \ und vollem Namensraum angegeben werden.
Parameters
- $className
- Name der Klasse
- $id
- ID des Objektes
Returns
Alvine\Core\Alvine Gespeicherte Klasse
Throw
\Alvine\Persistence\ObjectNotFoundException Objekt nicht gefunden
\Alvine\Core\UnserializeException Beim unserialize ist ein Problem aufgetreten
\Alvine\Types\TypeException Wenn das gefundene Objekt vom Typ $className abweicht
|
public
Alvine\Types\Subset
|
#
findObject( string $className, Alvine\Persistence\Find\Query $query )
Nach einem Objekt suchen
Die Suche erfolgt in dem in der Konfiguration definierten
Indexer. Der Indexer gibt eine Ergebnismenge zurück. Diese
Methode holt sich die ID des Ergebnisses und verwendet
die Methode getObject um das echte Objekt zu laden.
Parameters
- $className
- Klassenname
- $query
- Query
Returns
Alvine\Types\Subset Ergebnismenge
Throws
Alvine\Core\NullException Es wurde kein Handler für den Typ gefunden
Alvine\Persistence\Find\FindException Im Ergebnis wurde ein Eintrag ohne UUID oder Type gefunden. Wahrscheinlich ist der Index nicht mehr konsistent.
|
protected
Alvine\Persistence\ObjectStorage
|
#
getPersistenceHandler( string $className, string $mode )
Handler für den entsprechenden Speichertyp
Handler für den entsprechenden Speichertyp
Parameters
- $className
- Klassenname
- $mode
- Mode für die Exception
Returns
Alvine\Persistence\ObjectStorage
Throws
Alvine\Core\NullException Nicht gefunden
|
public
Alvine\Core\Alvine
|
#
deleteObject( Alvine\Core\Alvine $object )
Objekt aus dem Storage löschen
Objekt aus dem Storage löschen
Diese Methode löscht ein Objekt aus dem in der
Konfiguration definierten Speicher.
Parameters
- $object
- zu löschende Objekt
Returns
Alvine\Core\Alvine gelöschte Klasse
|
public
Alvine\Application\Assembly
|
#
writeObject( Alvine\Core\Alvine $object )
Objekt in den definierten Speicher schreiben
Objekt in den definierten Speicher schreiben
Das Übergebene Objekt wird serialisiertun
und in den angegebenen Speicher geschrieben.
Parameters
- $object
- zu speicherndes Objekt
Returns
|
public
string
|
#
getHashCode( )
Diese Methode berechnet einen eindeutigen Wert für eine Anwendung. Da jede
Anwendung nur eine Instanz haben kann, muss dieser Wert nur zu Klasse hin
eindeutig sein.
Diese Methode berechnet einen eindeutigen Wert für eine Anwendung. Da jede
Anwendung nur eine Instanz haben kann, muss dieser Wert nur zu Klasse hin
eindeutig sein.
Der Anwendungscache verwendet die ID um die Instanz der Anwendung zwischenzuspeichern.
Diese Methode sollte deshalb von abgeleiteten Klassen nicht überschrieben werden.
Returns
string Hashwert des Objektes
|
protected
Alvine\Application\Assembly
|
#
init( )
Task: Init - Inititalisierung der Anwendungsklasse
Task: Init - Inititalisierung der Anwendungsklasse
Returns
|
protected
Alvine\Application\Assembly
|
|
protected
Alvine\Application\Application
|
#
handleTasks( )
Abarbeiten der in der Config definierten Tasks
Abarbeiten der in der Config definierten Tasks
Returns
Alvine\Application\Application Dieses Objekt
Throws
|
public
Alvine\Application\Application
|
#
setView( Alvine\Application\View $view )
Neues View setzen
Parameters
Returns
Alvine\Application\Application Dieses Objekt
|
public
Alvine\Application\View
|
|
public
Alvine\IO\File\Directory
|
#
getRepositoyPath( )
Speicherort für Daten
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\Directory
|
#
getLicensePath( )
Verzeichnis mit Lizenzen
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\Directory
|
#
getConfigPath( )
Verzeichnis der Konfigurationsdateien
Verzeichnis der Konfigurationsdateien
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\Directory
|
#
getAssetPath( )
Assets-Verzeichnis
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\Directory
|
#
getBasePath( )
Basisverzeichnis
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\Directory
|
#
getClassPath( )
Code-Verzeichnis
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\Directory
|
#
getResourcePath( )
Verzeichnis mit Resourcen
Verzeichnis mit Resourcen
Returns
Alvine\IO\File\Directory Verzeichnis
|
public
Alvine\IO\File\File
|
#
getResourceFile( string $filename )
Resourcen-Datei-Objekt zurückgeben
Resourcen-Datei-Objekt zurückgeben
Die Methode sucht entweder im Resourcen-Verzeichnis der Anwendung
oder im Absoluten-Pfad nach der Resourcen-Datei. Ist der Dateiname
eine http-Resource so wird die Datei geladen und in eine temporäre
Datei gespeichert. Dieses Dateiobjekt wird zurückgegeben.
// Temporäre Datei mit dme Inhalt von www.example.com
$this->getResourceFile('http://www.example.com/');
// Absolute Datei auf einem Windows-System
$this->getResourceFile('file://c:\temp\myfile.txt');
// Absolute Datei auf einem Unix-System (ohne file://)
$this->getResourceFile('/tmp/myfile.txt');
// Absolute Datei auf einem Unix-System (mit file://)
$this->getResourceFile('file:///tmp/myfile.txt');
Parameters
- $filename
- Dateiname oder URI
Returns
Alvine\IO\File\File
|
public
Alvine\IO\File\Directory
|
#
getLogPath( )
Verzeichnis für Logdateien
Verzeichnis für Logdateien
Returns
Alvine\IO\File\Directory Verzeichnis
|
Properties summary
protected
integer
|
$applicationMode
|
|
protected
Alvine\Application\Configuration\Facility
|
$facility
Ort der Ausführung der Anwendung
Ort der Ausführung der Anwendung
|
|
protected
string
|
$configurationName
Anwendungskonfiguration
Anhand der Dateiendung kommen unterschiedliche
Verarbeitungen in Frage. Aktuell werden die folgenden
Formate unterstützt: .properties
|
|
protected
Alvine\Types\Node
|
$configuration
|
|
protected
Alvine\IO\File\Directory
|
$basePath
Der Basispfad der Anwendung
Der Basispfad der Anwendung
|
|
protected
Alvine\IO\File\Directory
|
$assetPath
Unter Assets werden Mediadateien wie Grafiken oder CSS-Dateien abgelegt.
Der Zugriff auf diese erfolgt allerdings nicht über den Webbrowser, da
je nach Konfiguration dieses Verzechnis nicht im Dokumenten-Root liegt.
Unter Assets werden Mediadateien wie Grafiken oder CSS-Dateien abgelegt.
Der Zugriff auf diese erfolgt allerdings nicht über den Webbrowser, da
je nach Konfiguration dieses Verzechnis nicht im Dokumenten-Root liegt.
|
|
protected
Alvine\IO\File\Directory
|
$classPath
Der Klassenpfad der Anwendung
Der Klassenpfad der Anwendung
|
|
protected
Alvine\IO\File\Directory
|
$configPath
Im config-Verzeichnis liegen die Konfigurationsdateien.
Im config-Verzeichnis liegen die Konfigurationsdateien.
|
|
protected
Alvine\IO\File\Directory
|
$logPath
|
|
protected
Alvine\IO\File\Directory
|
$licensePath
|
|
protected
Alvine\IO\File\Directory
|
$repositoyPath
|
|
protected
Alvine\IO\File\Directory
|
$resourcePath
|
|
protected static
Alvine\Types\Map\ObjectMap
|
$instance
Einzige Objektinstanz (singelton) der Anwendung
Einzige Objektinstanz (singelton) der Anwendung
|
|
protected static
Alvine\Cache\CacheManager
|
$cacheManager
|
|
protected
Alvine\Application\View
|
$view
|
|
protected
Alvine\Cache\Examiner
|
$cacheExaminer
Prüfpunkte für den Anwender-Cache
Prüfpunkte für den Anwender-Cache
|
|
protected
Alvine\Types\Map\ObjectMap<\Alvine\Core\Event\EventQueue>
|
$eventQueues
|
|
protected
Alvine\I18n\Locale
|
$locale
|
|
protected
Alvine\Persistence\Manager
|
$storageManager
|
|