Читать книгу Programmieren mit PHP - Andreas Hitzig - Страница 6
Nützliche Unterstützung
ОглавлениеMit PHP 5 sind zahlreiche neue Funktionen für Klassen und Objekte hinzugekommen, die Ihnen die tägliche Arbeit erleichtern sollen. Eine komplette Liste finden Sie auf der PHP-Website unter der Adresse http://de2.php.net/manual/de/ref.classobj.php (Bild 1). Im Folgenden stellen wir Ihnen einige der wichtigsten Neuankömmlinge vor.
In der Online-Dokumentation von PHP 5 finden Sie eine gute Einführung ins Thema Objektorientierung (Bild 1)
Bereits seit PHP 4 gibt es die Funktion class_exists(), die allerdings in PHP 5 um den zusätzlichen Parameter autoload erweitert worden ist. Die Funktion überprüft die Existenz einer bestimmten Klasse und gibt als Ergebnis entweder true oder false zurück (Bild 2). Die Beschreibung der Funktion sieht wie folgt aus:
bool class_exists ( string $class_name
[, bool $autoload = true ] )
autoload() bietet eine einfache Fehlerbehandlung bei nicht definierten Klassen oder Schnittstellen (Bild 2)
Der Parameter class_name ist der Klassenname, bei dem die Groß- und Kleinschreibung keine Rolle spielt. Der neu hinzugekommene Parameter autoload definiert die Nutzung der gleichnamigen Funktion - der Standardwert ist auf true gesetzt:
function __autoload($class) {
include($class . '.php');
if (!class_exists($class, false)) {
trigger_error("Die Klasse $class kann
nicht geladen werden",
E_USER_WARNING); }
}
if (class_exists('meineKlasse')) {
$meine_klasse = new meineKlasse();
}
In der if-Abfrage wird überprüft, ob die Klasse meineKlasse existiert - im Fehlerfall wird die Funktion autoload mit dem Klassennamen aufgerufen und die Klasse geladen. Zur Sicherheit wird innerhalb der Funktion überprüft, ob die Klassendatei generell zur Verfügung steht, und im Fehlerfall eine Meldung ausgegeben. Damit dies nicht in einer Endlosschleife mündet, wird bei dieser Überprüfung explizit die Verwendung der autoload-Funktion durch Setzen des zweiten Parameters ausgeschlossen.