|
Anonyme KlassenUnterstützung für anonyme Klassen wurde in PHP 7 hinzugefügt. Anonyme Klassen sind nützlich, wenn einfache Objekte zum einmaligen Gebrauch erzeugt werden müssen.
<?phpSie können Argumente über ihren Konstruktor empfangen, andere Klassen erweitern, Interfaces implementieren und Traits verwenden, so wie das eine normale Klasse auch kann:
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe:
object(class@anonymous)#1 (1) {
["Command line code0x104c5b612":"class@anonymous":private]=>
int(10)
}
Das Verschachteln einer anonymen Klasse innerhalb einer anderen Klasse gibt jener keinen Zugriff auf private oder geschützte Methoden oder Eigenschaften der äußeren Klasse. Um die geschützten Methoden oder Eigenschaften der äußeren Klasse zu verwenden, kann die anonyme Klasse die äußere Klasse erweitern. Um private Eigenschaften der äußeren Klasse in der anonymen Klasse zu verwenden, müssen sie dem Konstruktor übergeben werden:
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe: 6 All objects created by the same anonymous class declaration are instances of that very class.
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe: same class
|