Récemment, l'équipe de développement PHP a voté une nouvelle dépréciation de PHP 7.4, qui devrait être publiée d'ici fin novembre. La première version bêta est désormais disponible avec des fonctionnalités corrigées. La version actuelle fournit non seulement les dépréciations nouvellement sélectionnées, mais fournit également quelques corrections de bugs.
L'équipe de développement PHP a publié la première version bêta de PHP 7.4. Cela détermine la fonctionnalité. PHP 7.4beta1 apporte quelques BugFix en plus de nouvelles dépréciations. Nous travaillons sur les changements pour la nouvelle version.
PHP 7.4beta1 a de nouvelles dépréciations
Auparavant, PHP autorisait l'utilisation interchangeable des crochets et des accolades pour accéder aux éléments du tableau et aux décalages de chaînes. Exemple tiré du PHP RFC interne de PHP pour illustrer :
$array = [1, 2]; echo $array[1]; // prints 2 echo $array{1}; // also prints 2 $string = "foo"; echo $string[0]; // prints "f" echo $string{0}; // also prints "f"
Cette partie provoque de la confusion et des problèmes. Par exemple, les accolades ne peuvent pas être utilisées pour écrire des éléments dans un tableau :
$array[] = 3; echo $array[2]; // prints 3 $array{} = 3; // Parse error: syntax error, unexpected '}'
Les tableaux ne peuvent pas être créés en utilisant la syntaxe des accolades :
$array = [1, 2]; // works $array = {1, 2}; // Parse error: syntax error, unexpected '{'
Il s'avère qu'il est difficile à utiliser pour le mappage de liste :
[$one, $two] = $array; // works {$one, $two} = $array; // Parse error: syntax error, unexpected ','
En conséquence, la syntaxe des accolades est désormais marquée comme obsolète et donc déconseillée lors de l'utilisation de décalages de tableau ou de chaîne de la version bêta publiée.
PHP 7.4 beta 1 apporte de nouvelles dépréciations votées par l'équipe de développement PHP la semaine dernière. 14 des méthodes répertoriées étaient obsolètes dans PHP 7.4 :
真正的类型 魔术引用遗产 array_key_exists()包含对象 FILTER_SANITIZE_MAGIC_QUOTES过滤器 反射export()方法 mb_strrpos(),编码为第三个参数 implode()参数顺序组合 从非静态闭包中取消绑定$ this hebrevc()函数 convert_cyr_string()函数 money_format()函数 ezmlm_hash()函数 restore_include_path()函数 allow_url_include ini指令
Dans PHP 7.4beta1, toutes les méthodes mentionnées étaient obsolètes et finalement supprimées dans la version 8.0.
BugFix dans PHP 7.4beta1
En plus des dépréciations mentionnées ci-dessus, la version bêta a également préparé quelques corrections de bugs. Selon les notes de version, il existe un défaut de segmentation dans le serveur Web intégré. Ce problème devrait être résolu avec cette version bêta.
Un autre problème survient lorsque PHP est exécuté via CGI. PHP recherche un shebang (#!). S'il y a un hachage dans la première ligne, PHP ne vérifie pas si ce qui suit est un point d'exclamation, c'est donc une combinaison du hachage et du point d'exclamation (# !). Selon le rapport de bug, PHP a ignoré les lignes correspondantes et ignoré le code PHP.
Test script: --------------- #<!--?php echo "Hello World\n"; ?--> Second line. Expected result: ---------------- X-Powered-By: PHP/5.3.3-7+squeeze3 Content-type: text/html #Hello World Second line. Actual result: -------------- X-Powered-By: PHP/5.3.3-7+squeeze3 Content-type: text/html Second line.
De plus, il y a un bug où PHP mange le premier octet du programme s'il provient d'une substitution de processus (Bogue #78066). La première version bêta corrige ce bug. Pour plus d'informations sur la version actuelle, consultez les notes de version.
La bêta 1 sera suivie de la bêta 2
La sortie de PHP 7.4 est prévue le 28 novembre. Après la première version bêta, PHP 7.4beta2 sera publié le 8 août 2019. Le calendrier de PHP 7.4 peut être trouvé sur le wiki PHP.
Cet article est traduit de : https://entwickler.de/online/php/php-7-4beta1-deprecations-579902190.html