Inhaltsverzeichnis
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)
- fdb-ira.php
<!-- 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(); ?>