Serialisierung von Objekten
Namespaces
Klassen und Objekte
PHP Manual

## OOP-Changelog

Hier werden Änderungen am OOP-Modell von PHP 5 protokolliert. Beschreibungen und andere Hinweise zu diesen Features werden innerhalb der OOP-5-Dokumentation dargelegt.

Version | Beschreibung
--- | ---
5.3.0 | Geändert: Es ist nun möglich eine Klasse mittels einer Variablen zu referenzieren (z.B. echo $classname::constant;). Der Wert der Variable darf kein Schlüsselwort sein (z.B. self, parent oder static).
5.3.0 | Geändert: Ein Fehler der Stufe `E_WARNING` wird ausgelöst, wenn die magischen Methoden für Überladung als static deklariert werden. Dies erzwingt auch die Anforderung nach öffentlicher Sichtbarkeit.
5.3.0 | Geändert: Vor PHP 5.3.0 konnten Exceptions, die in einer __autoload-Funktion geworfen wurden, nicht mit einem catch-Block gefangen werden und resultierten in einem "fatal error". Nun können Exceptions, die in einer __autoload-Funktion geworfen wurden, im catch-Block unter einer Bedingung gefangen werden. Wenn eine selbst definierte Exception geworfen wird, so muss diese Exception verfügbar sein. Die __autoload-Funktion kann jedoch rekursiv aufgerufen werden, um die Exceptionklasse automatisch zu laden.
5.3.0 | Hinzugefügt: Die Methode __callStatic.
5.3.0 | Hinzugefügt: Unterstützung für die heredoc- und nowdoc-Syntax für const und Definition von Eigenschaften in einer Klasse. Beachten Sie: die heredoc-Werte müssen den gleichen Regeln wie Strings in doppelten Anführungszeichen folgen (d.h. keine Variablen beinhalten).
5.3.0 | Hinzugefügt: Späte statische Bindung.
5.3.0 | Hinzugefügt: Die Methode __invoke.
5.2.0 | Geändert: Die Methode __toString wurde nur in direkter Verbindung mit echo() oder print() aufgerufen. Nun wird sie in jedem String-Kontext aufgerufen (z.B. in printf() mit dem %s-Modifizierer), aber nicht in anderen Kontexten (z.B. mit dem %d-Modifizierer). Seit PHP 5.2.0 löst die Konvertierung von Objekten ohne __toString-Methode zu Strings einen Fehler der Stufe `E_RECOVERABLE_ERROR` aus.
5.1.3 | Geändert: In vorhergehenden Versionen von PHP 5 wurde die Verwendung von var als veraltet betrachtet und löste einen Fehler der Stufe `E_STRICT` aus. Dies ist nicht länger veraltet und daher wird kein Fehler mehr ausgelöst.
5.1.0 | Geändert: Die statische Methode __set_state wird nun für Klassen aufgerufen, wenn sie durch var_export() exportiert werden.
5.1.0 | Hinzugefügt: Die Methoden __isset und __unset.

Serialisierung von Objekten
Namespaces
Klassen und Objekte
PHP Manual