"Are you quite sure that all those bells and whistles, all those wonderful facilities of your so called powerful programming languages, belong to the solution set rather than the problem set?"
Neben Konstruktor und Destruktor sowie den Methoden
__sleep() und __wakeup() bietet PHP noch
eine Reihe weiterer spezieller Methoden an, die für bestimmte
Ereignisse automatisch aufgerufen werden. Da diese Methoden die
entsprechenden Ereignisse in gewisser Weise "abfangen", nennt man
sie Interzeptormethoden.
PHP bietet die folgenden Interzeptormethoden an. Sie werden automatisch aufgerufen beim Zugriff auf nicht deklarierte Instanzvariablen und Methoden eines Objektes, beim Versuch, ein Objekt einer nicht deklarierten Klasse zu erzeugen, sowie bei der Typumwandlung eines Objektes in einen String.
__autoload($className)
Wird aufgerufen, wenn ein Objekt der Klasse
$className erzeugt werden soll, die
Klasse aber nicht deklariert ist.
__get($memberName)
Wird aufgerufen, wenn lesend auf die Instanzvariable
$memberName eines Objektes zugegriffen
wird, die Instanzvariable aber nicht gesetzt ist.
__set($memberName, $value)
Wird aufgerufen, wenn schreibend auf die Instanzvariable
$memberName eines Objektes zugegriffen
wird und sie vorher nicht gesetzt war. Der
zweite Parameter $value enthält den
Wert, den die Instanzvariable erhalten soll.
__call($methodName, $parameters)
Wird aufgerufen, wenn eine nicht deklarierte Methode
$methodName auf einem Objekt aufgerufen
wird. Der zweite Parameter $parameters
enthält die Parameter des Methodenaufrufes.
__toString()
Wird aufgerufen, wenn eine Typumwandlung eines Objektes in einen String durchgeführt werden soll.