Das Erstellen dynamischer Eigenschaften ist veraltet, es sei denn, die Klasse erlaubt dies mit dem Attribut #[\AllowDynamicProperties]
. stdClass erlaubt dynamische Eigenschaften. Die Verwendung der magischen Methoden __get()/__set() ist von dieser Änderung nicht betroffen. Die Warnung, dass dynamische Eigenschaften veraltet sind, kann wie folgt beseitigt werden:
#[\AllowDynamicProperties]
zur Klasse (welches auch für alle untergeordneten Klassen gilt). Callables, die nicht von der Syntax $callable()
akzeptiert werden (aber von call_user_func()), sind veraltet. Im Besonderen:
"self::method"
"parent::method"
"static::method"
["self", "method"]
["parent", "method"]
["static", "method"]
["Foo", "Bar::method"]
[new Foo, "Bar::method"]
"A::method"
oder ["A", "method"]
. "${var}"
und "${expr}"
Die Zeichenketten-Interpolation im Stil von "${var}"
und "${expr}"
ist veraltet. Stattdessen sollten "$var"/"{$var}"
und "{${expr}}"
verwendet werden.
Die Verwendung der "Textkodierungen" QPrint
, Base64
, Uuencode
und HTML-ENTITIES
ist bei allen MBString-Funktionen veraltet. Im Gegensatz zu allen anderen Textkodierungen, die von MBString unterstützt werden, kodieren diese keine Sequenz von Unicode-Codepoints, sondern eine Sequenz von rohen Bytes. Es ist daher nicht klar, was die korrekten Rückgabewerte für die meisten MBString-Funktionen sein sollten, wenn eine dieser Nicht-Kodierungen angegeben wird. Außerdem hat PHP separate, eingebaute Implementierungen für alle diese Funktionen; zum Beispiel können UU-kodierte Daten mit convert_uuencode()/convert_uudecode() verarbeitet werden.
Die interne Methode SplFileInfo::_bad_state_ex() ist veraltet.
Die Funktionen utf8_encode() und utf8_decode() sind veraltet.