Willkommen auf dem TF-Infoportal Wiki.

Hier finden Sie alle Informationen über das TF-Infoportal, das Support-System OTRS und das Electures-Portal an der Technischen Fakultät.
Eine globale Navigation finden Sie im Menu links, zur Startseite geht es hier.

Dies ist eine alte Version des Dokuments!


PHP-Nutzung

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();
?>
QR-Code
QR-Code tf-infoportal:dokumentation:php:php-bibliothek-nutzung (erstellt für aktuelle Seite)