(PHP 8 >= 8.2.0)
Dieses Attribut wird verwendet, um Klassen zu kennzeichnen, die dynamische Eigenschaften erlauben.
Dynamische Eigenschaften sind seit PHP 8.2.0 veraltet. Wenn sie in einer Klasse verwendet werden, ohne diese mit diesem Attribut zu kennzeichnen, wird ein entsprechender Hinweis ausgegeben.
<?php
class DefaultBehaviour { }
#[\AllowDynamicProperties]
class ClassAllowsDynamicProperties { }
$o1 = new DefaultBehaviour();
$o2 = new ClassAllowsDynamicProperties();
$o1->nonExistingProp = true;
$o2->nonExistingProp = true;
?>
Das oben gezeigte Beispiel erzeugt mit PHP 8.2 folgende Ausgabe:
Deprecated: Creation of dynamic property DefaultBehaviour::$nonExistingProp is deprecated in file on line 10