Paket Application

Klasse Application

  • 'setEnvironment()' um die Ausgabe der Fehlerdetails mit 'development' anzuschalten oder mit 'production' auszublenden
  • 'setTimezone()'
  • 'addLibrarypath()' / 'addLibrarypaths()' um Verzeichnisse zum Include Path zum Laden von Klassen hinzuzufügen
  • 'initAutoloader()' zur Initialisierung des Zend Autoloaders und Dragon Autoloaders zum Nachladen aller Klassen
  • 'initPackageRegistry()' zur Initialisierung der Package Registry und Einbindung der übergebenen Pakete
  • 'initRepositoryRegistry()' zur Initlialisierung der Repository Registry
  • 'initPluginRegistry()' zur Initlialisierung der Plugin Registry
  • bootstrap um den Paketen zu erlauben mit Plugins sich in den Bootstrapprozess einzuhängen
    $application = new Dragon_Application_Application();
    $application
        ->setEnvironment('%environment%')
        ->setTimezone()
        ->addLibrarypaths(array(
            '%zendpath%',
            '%dragonjsonserverpath%/library',
        ))
        ->initAutoloader()
        ->initPackageRegistry(require '%applicationpath%/config/packagenamespaces.php')
        ->initRepositoryRegistry(require '%applicationpath%/config/repositories.php')
        ->initPluginRegistry()
        ->bootstrap();

Pluginschnittstellen für den Bootstrapprozess

  • bootstrap für Aktionen während Bootstrapprozess
    class %packagenamespace%_%packagename%_Plugin_%pluginname%
        implements Dragon_Application_Plugin_Bootstrap_Interface
    {
        public function bootstrap()
        {}
    }

Klasse Autoloader

  • Lädt alle Klassen nach die von der Projektvorlage verwendet werden
  • Klassenname bildet die Verzeichnisstruktur ab. Dragon_Application_Application liegt in der Datei Dragon/Application/Application.php
  • Lädt nur Klassen aus Paketen nach die eingebunden wurden
  • Kann auch für eigene Pakete verwendet werden wenn man diese einbindet und die Verzeichnisstruktur an die Klassennamen anpasst

Klasse Config

  • Aufbau von Konfigurationsdateien
    return array('key' => 'value');
  • Verzeichnisstruktur für Konfigurationsdateien
    /config
        /%packagenamespace%
            /%packagename%
                /%filename%.php
  • Verwendung von Konfigurationsdateien
    $config = new Dragon_Application_Config('%packagenamespace%/%packagename%/%filename%');
    echo $config->key;
  • Bei der Verwendung von Repositories werden die Konfigurationsdateien hierarchisch gesucht und die erste gefundene Konfigurationsdatei geladen