La création de propriétés dynamiques est obsolète, à moins que la classe ne l'autorise en
utilisant l'attribut #[\AllowDynamicProperties]
.
stdClass autorise les propriétés dynamiques.
L'utilisation des méthodes magiques __get()/__set() n'est pas affectée par ce changement.
L'avertissement d'obsolescence des propriétés dynamiques peut être adressé en :
#[\AllowDynamicProperties]
à la classe
(qui s'applique également à toutes les classes enfants).
Les callables qui ne sont pas acceptés par la syntaxe $callable()
(mais qui sont acceptés par call_user_func()) sont obsolètes.
En particulier :
"self::method"
"parent::method"
"static::method"
["self", "method"]
["parent", "method"]
["static", "method"]
["Foo", "Bar::method"]
[new Foo, "Bar::method"]
"A::method"
ou ["A", "method"]
.
"${var}"
et "${expr}"
.
Les styles d'interpolation de chaîne "${var}"
et "${expr}"
sont obsolètes.
Utilisez respectivement "$var"/"{$var}"
et "{${expr}}"
.
L'utilisation des formats QPrint
, Base64
,
Uuencode
et HTML-ENTITIES
est obsolète pour toutes les fonctions MBString.
Contrairement à tous les autres encodages de texte supportés par MBString,
ceux-ci n'encodent pas une séquence de points de code Unicode, mais plutôt une séquence d'octets bruts.
Les valeurs de retour de la plupart des fonctions MBString ne sont pas claires
lorsqu'un de ces non-encodages est spécifié.
De plus, PHP a des implémentations distinctes pour chacun d'entre eux ;
par exemple, les données UUencoded peuvent être gérées en utilisant
convert_uuencode()/convert_uudecode().
La méthode interne SplFileInfo::_bad_state_ex() a été rendue obsolète.
utf8_encode() et utf8_decode() ont été rendues obsolètes.