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.