Funktionsbibliotheken erstellen und recyceln
Bisher haben wir einzelne Funktionen kennen gelernt. Nun wird es Funktionen geben, die immer wieder in verschiedenen Projekten benötigt werden könnten. Aus diesen können Funktionsbibliotheken erstellt werden, die sehr einfach in dem entsprechenden Programmteil, in der sie benötigt werden, einfach dazu eingebunden werden.
Das Einbinden geschieht über include
bzw. require
.
Der Unterschied zwischen require und include ist, dass das PHP-Programm bei require dann an dieser Stelle abbricht, falls die einzubindende Datei nicht existieren sollte. Dies kann aus sicherheitstechnischen Gründen sinnvoll sein.
Über Include kann z.B. auch HTML-Bereich eingebunden werden und so das Design einer Datei recht einfach auf jeder Seite übernommen werden (Beispielsweise ein include für den Kopf der Seite, eines für die Steuerung und eins für den Fuß).
Funktionsbibliotheken sollten unbedingt die Dateiendung „.php“ haben, da ansonsten bei Problemen des Webservers die Besucher den Quellcode zu sehen bekommen und unter Umständen durch bestimmte Rückschlüsse dann an Daten kommen, die sie sonst nicht bekommen könnten und auch nicht bekommen sollten.
Die Datei, die per include aufgenommen wird, fängt genauso wie jede PHP-Datei mit <?php
an und hört mit ?>
auf.
Als kleines Beispiel wird im Folgendem die Funktionsbibliothek zur Ausgabe von Dateigrößen aufgenommen und dann genutzt. Erstellen Sie im ersten Schritt die Datei dateigroessen.php in Ihrem Verzeichnis, in dem Ihr PHP-Programme liegt (wenn Sie es ordentlicher haben möchten, erstellen Sie ein Unterverzeichnis z.B. mit dem Namen inc und packen es dort hinein - beim Inkludieren muss dann das Unterverzeichnis angegeben werden).
Der Inhalt der Datei "dateigroessen.php" ist:
<?php
// Funktionsbibliothek Konvertierungen
function dateigroesse_als( $bytes, $to="" )
{
switch($to)
{
// Kilobit
case 'kbit':
$bytes = ($bytes * 8) / 1024;
$bytes .= " kbit";
break;
// bit
case 'bit' :
$bytes = $bytes * 8;
$bytes .= " bit";
break;
// Gigabyte
case 'GB' :
$bytes = $bytes / 1024 / 1024;
$bytes .= " GB";
// Megabyte
case 'MB' :
$bytes = $bytes / 1024;
$bytes .= " MB";
// Kilobyte
case 'KB' :
$bytes = $bytes / 1024;
$bytes .= " KB";
// byte
default :
}
return $bytes;
}
?>
zum Einbinden der Datei geben Sie nur an:
<?php
require ('dateigroessen.php');
?>
oder mit Unterverzeichnis:
<?php
require ('inc/dateigroessen.php');
?>
Und nun als kleines Programm mit Namen "test-bibs.php":
<?php
require ('dateigroessen.php');
echo dateigroesse_als( 156463, "KB" );
?>
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: