Seitenhierarchie
Zum Ende der Metadaten springen
Zum Anfang der Metadaten

 

Zusammenfassung

In diesem Artikel werden die Funktionen zur Überprüfung der Systemvoraussetzungen beschrieben.

 


Beschreibung

Die Kompatibilität des Frameworks oder der Komponenten mit der Systemumgebung kann über den Aufruf von \Alvine\Core\Component::checkCompatibility() erfolgen. Werden Regeln nicht abgedeckt, so wird eine entsprechende Exception geworfen.

try {
    \Alvine\Core\Component::checkCompatibility();
} catch (\Alvine\Util\Dependency\DependencyException $e) {
   echo 'Fehler '.$e->getMessage();
} 

Eigene Regeln definieren

Regeln für eigenem Komponenten werden in der Methode Component::initEnvironmentRules() definiert. In dem folgenden Beispiel wird geprüft, ob der Treiber für MongoDB installiert ist und der Wert von memory_limit in der php.ini auf -1 gesetzt ist.

/**
 * Regeln für die Systemprüfung
 * 
 * <p>Abgeleitete Klassen können diese Methode überschreiben und
 * Ihre eigenen Prüfungen implementieren, sollten aber immer
 * parent::initEnvironmentRules() aufrufen, damit die zentralen 
 * Prüfungen laufen.</p>
 * 
 * <p>Das Überschreiben erfolgt, indem mittels Ruleset::add()
 * Methode neue Regeln hinzugefügt werden.</p>
 * <code>
 * $this->ruleset->add(new PhpModuleRule('gdlib'));
 * </code>
 * 
 * <p>Ist eine Abhängigkeit nicht gegeben, so wird eine
 * entsprechende Exception geworfen.</p>
 * 
 * <h3>Notwendige Komponenten</h3>
 * <ul>
 *   <li>PHP-Version muss mindestens \Alvine\Core\Component::REQUIRED_PHP_VERSION sein</li>
 * </ul>
 *  
 * @return \Alvine\Core\Component Dieses Objekt
 * 
 * @throw \Alvine\Core\FrameworkException PHP-Version
 */
protected function initEnvironmentRules() {
   /** Systemregeln */
  parent::initEnvironmentRules();
 
  /** Regeln die für diese Komponente gelten */
  $this->ruleset->add(new \Alvine\Util\Dependency\Rule\PhpModule('mongo'))
        ->add(new \Alvine\Util\Dependency\Rule\PhpIni('memory_limit','-1'));
  return $this;
}

Ressourcen

 


Feedback

Waren diese Informationen hilfreich?

 


Historie

Version Datum Kommentar
Aktuelle Version (v. 1) 01.Jan.2017 18:18 Volker Schukai

 

Schreiben Sie einen Kommentar...