| 5.5.0 |
finally zur Behandlung von
Exceptions hinzugefügt.
|
| 5.4.0 |
Traits hinzugefügt.
|
| 5.4.0 |
Geändert:
Wenn eine abstrakte Klasse
eine Signatur für den Konstruktor definiert, so wird diese nun erzwungen.
|
| 5.3.3 |
Geändert: Methoden, die den Namen des letzten Elementes eines
Klassennamens in einem
Namespace tragen,
werden nicht länger als Konstruktor behandelt. Diese
Änderung beeinflusst Klassen außerhalb von Namespaces nicht.
|
| 5.3.0 |
Geändert: Klassen, die Interfaces implementieren, welche Methoden mit Vorgabewerten
in ihrem Prototypen enthalten müssen nicht mehr dem Vorgabewert des Interfaces
entsprechen.
|
| 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.
|