PHP Handbuch
Zurück | Kapitel 19. Klassen und Objekte (PHP 5) | Weiter

# Autoloading

Viele Entwickler, die objektorientierte Anwendungen entwickeln, erzeugen eine eigene PHP Quelldatei für jede Klassendefinition. Eines der größten Ärgernisse ist die Notwendigkeit, eine lange Liste von benötigten Include-Anweisungen am Anfang eines jeden Skripts (eine für jede Klasse).

In PHP 5 ist das nicht länger notwendig. Man kann eine __autoload Funktion definieren, die automatisch aufgerufen wird, falls man versucht eine Klasse zu benutzen, die noch nicht definiert ist. Durch den Aufruf dieser Funktion erhält die Scripting Engine einen letzten Versuch, die Klasse zu laden, bevor PHP unter Ausgabe einer Fehlermeldung scheitert.

> Anmerkung: Exceptions, die in einer __autoload Funktion geworfen werden, sind nicht in einem Catch-Block fangbar und führen zu einem fatalen Fehler.

Beispiel 19-7. Autoload Beispiel

Dieses Beispiel versucht die Klassen `MyClass1` und `MyClass2` aus den entsprechenden Dateien `MyClass1.php` und `MyClass2.php` zu laden.

`<?php function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new MyClass1(); $obj2 = new MyClass2(); ?>`

Zurück | Zum Anfang | Weiter
Die Grundlagen | Nach oben | Konstruktoren und Destruktoren