Erläuterung zur Nutzung der PHP-Klasse für die Einbindung in die eigene Webseite, Fortgeschrittenes Beispiel mit Caching

Dieses etwas fortgeschrittenere Beispiel nutzt die eingebauten sehr simplen Caching-Funktionen der FDB-Klasse.

Die Nutzung des Caches ermöglicht die Ladezeiten der Seiten erheblich zu verkürzen, da nicht bei jedem Zugriff eine Anfrage an die Forschungsdatenbank geschickt wird.

Die Cache-Dateien werden standardmässig in /tmp abgelegt, dies kann über den Setter setCacheDir($dir) geändert werden. Die Cache-Dateien haben alle standardmässig den Dateinamenspräfix fdb-.

Wird der Parameter fdbClearCache übergeben, wird der Cache für die aktuelle Parameterkonfiguration neu geschrieben.

Wird der Parameter fdbClearAllCaches übergeben, werden alle Cache-Dateien gelöscht und der Cache für die aktuelle Parameterkonfiguration wird neu geschrieben.

Änderung der Standardeinstellungen

Die meisten Standardeinstellungen können mit entsprechenden Methoden überschrieben werden.

setCacheFilePrefix($string) setzt den Präfix der Cache-Dateien neu (muss alphanumerisch sein, standard: fdb)

Mittels setCacheDir($dir) kann das Cache-Verzeichnis geändert werden

Mittels setClearCacheCmd($cmd) kann der Parameter zum Cache-Löschen geändert werden

Mittels setClearAllCachesCmd($cmd) kann der Parameter für das Löschen aller Caches geändert werden

Einbindung in die Eigene Webseite (Beispiel für Publikationslisten)

<!-- start FDB Code --> <!-- We include the minified jquery for the fancy javascripts --> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"> </script> <?php # Alle Fehler zurueckmelden error_reporting(E_ALL); # nicht fuer den Produktionsbetrieb, Fehler anzeigen ini_set('display_errors',1); # Bibliothek laden require_once('../fdb/php/lib/fdb.class.php'); # FDB-Klasse initialisieren $fdb = new de\uni_freiburg\tf\fdb\FDB('../fdb/xsl/forschdb_utf8_chermann.xsl'); # Parameter fuer FDB festlegen # Kostenstelle definieren $fdb->setFDBParameter('Kostenstelle','110113'); # Debug Ausgabe aktivieren oder nicht (Bei true wird eine vollstaendige HTML-Seite ausgegeben, anstatt nur der content, default false) $fdb->setXsltDebug(false); # Javascript Ausgabe aktivieren oder nicht (Bei true werden Javascript-Funktionen eingebaut, default true) $fdb->setXsltEnableJavascript(true); # nach oben links anzeigen $fdb->setXsltParameter('enable_totop_backlink','true'); # Darstellung des Publikations-Listings anpassen $fdb->setXsltParameter("publications_listing", "publications_list_alltypes"); # Sprache anpassen, abhaengig von dem Parameter lang in der session # Array zur Uebersetzung von $_SESSION['lang'] (DE,EN) in die Kuerzel, die das XSL erwartet (D,E) $langArray = array( 'EN' => 'E', 'DE' => 'D' ); if (isset($_SESSION['lang']) && in_array($_SESSION['lang'], array_keys($langArray))) { # Sprache setzen $fdb->setXsltParameter("language", $langArray[$_SESSION['lang']]); } else { # fuer den Fall, dass die Sprache nicht bekannt ist, Standard-Sprache (Deutsch) waehlen $fdb->setXsltParameter("language", "D"); } # 24h * 30 Tage $cacheLifetime = 24 * 60 * 60 * 30; # Cache nur neu schreiben, wenn er ungueltig ist $fdb->writeCacheFileIfCacheExpired($cacheLifetime); # echo $fdb->getCacheFile(); # echo 'Cache expired?: ', $fdb->isCacheFileExpired($cacheLifetime) ? 'true' : 'false'; # Cache in die Ausgabe einbinden $fdb->includeCacheInOutput(); ?>