OGSteam / ogspy

OGSpy collects data from a game to helps players to spy all the universe
https://forum.ogsteam.eu
GNU General Public License v2.0
10 stars 12 forks source link

PHP8, éléments non-rétrocompatibles #297

Closed pitch314 closed 1 year ago

pitch314 commented 3 years ago

Mise en conformité avec PHP8 => https://www.php.net/manual/en/migration80.php

Partie II. éléments non-rétrocompatible (https://www.php.net/manual/en/migration80.incompatible.php)

pitch314 commented 3 years ago

-II.1 PHP Core II.1.1 String to Number Comparison => Je n'ai pas vu d'endroit où ça pourrait avoir un problème. II.1.2 match reserved keyword : RAS II.1.3 assert : RAS II.1.4 onstruction de classe : RAS II.1.5 non-static => Je ne pense pas II.1.6 cast reeal/unset : RAS II.1.7 php_errormsg : RAS II.1.8 define case_insensitive : RAS II.1.9 __autoload : RAS II.1.10 errcontext remove : RAS II.1.11 create_function remove : RAS II.1.12 each remove : RAS II.1.13 this avec ReflectionMethod:: ou Closure: : RAS II.1.14 this unbind this : RAS, a priori II.1.15 array_key_exists avec objet : RAS, a priori (seulement dans PHPMailer) II.1.16 array_key_exists : RAS, a priori (seulement dans PHPMailer) II.1.17 "Any array that has a number n as its first numeric key will use n+1 for its next implicit key, even if n is negative." => Je ne pense pas qu'on utilise ce qu'il faut éviter avec des index négatif. II.1.18 error_reporting E_ALL par défaut : RAS pour moi II.1.19 display_startup_errors true par défaut (ini) : non concerné et RAS pour moi II.1.20 parent dans non parent class en erreur : Je ne pense pas qu'on utilise des truc non conforme II.1.21 The @ operator will no longer silence fatal errors : RAS pour moi II.1.22 #[ : RAS II.1.23 Inheritance errors de warning en erreur : ?Je ne pense pas en avoir II.1.24 + prioritaire sur . : ???? II.1.25 CONST_RESOLVING_TO_NULL : RAS II.1.26 warning convertie en erreur et notice en warning : Il faut sur un ogspy, qui a les logs à ALL, regarder les logs !! II.1.27 "Attempting to assign multiple bytes to a string offset will now emit a warning" RAS mais à suivre les journaux de logs II.1.28 Unexpected characters in source files en parseerror à la place warning compil : RAS pour moi II.1.29 exception non attrapée active auto le destructeur : RAS II.1.30 changement var by ref erreur : RAS II.1.31 only var by ref de notice en exception : RAS II.1.32 nom anonyme class : RAS II.1.33 class, "Non-absolute trait method references in trait alias adaptations" : Je ne pense pas II.1.34 signature of abstract methods est maintenant regarder dans l'implémentation : RAS pour moi II.1.35 Disabled functions : RAS pour moi II.1.36 data:// stream : RAS II.1.37 arithmetic and bitwise operators +, -, *, /, *, %, <<, >>, &, |, ^, ~, ++, -- en erreur sur array : à vérifier II.1.38 Float to string cast est indépendant de la région (toujours . pour les décimaux) : pas de conséquence pour moi II.1.39 curly braces for offset access, de déprécié à supprimer : je crois qu'on avait corrigé non ? sinon voir logs pour erreur de parsage fichier PHP (ou du php8.exe -l .php) II.1.40 final modifier on private methode en warning si non constructeur : RAS pour moi II.1.41 exit dans construction : RAS II.1.42 Namespaced sans espace : RAS II.1.43 "Nested ternaries now require explicit parentheses" : à voir II.1.44 debugbacktrace et Exception::getTrace sans ref arg : RAS II.1.45 Numeric string handling simplifié : RAS II.1.46 arg des Magic Methods regardés maintenant : à voir (faire un php.exe -l *php) II.1.47 call_user_func_array array key in arg : RAS II.1.48 déclarer une fonction assert() donne erreur : RAS

-II.2 Resource to Object Migration curl, enchant, imagedestroy, openssl, socket, shmop, msp, sem, shm, in/deflate_ retournent objet : RAS

-II.3 COM and .Net (Windows) : RAS

-II.4 CURL : RAS

-II.5 Date and Time : RAS

-II.6 DOM : RAS

-II.7 Enchant : RAS

-II.8 Exif : RAS

-II.9 Filter II.9.1 FILTER_VALIDATE_URL : FILTER_FLAG_SCHEME_REQUIRED et FILTER_FLAG_HOST_REQUIRED retirés : RAS en utilisation (use in PHPMailer p3599) II.9.2 INPUT_REQUEST and INPUT_SESSION retirés : RAS

-II.10 GD : RAS

-II.11 GMP : RAS

-II.12 iconv : RAS

-II.13 IMAP : RAS

-II.14 Internationalization Functions INTL_IDNA_VARIANT_2003 et Normalizer::NONE retirés : RAS

-II.15 LDAP : RAS

-II.16 MBString : RAS

-II.17 OCI8 : RAS

-II.18 ODBC : RAS

-II.19 OpenSSL : RAS

-II.20 Regular Expressions (Perl-Compatible) "When passing invalid escape sequences they are no longer interpreted as literals. This behavior previously required the X modifier – which is now ignored." : Je ne pense pas qu'il ait d'impact

-II.21 PHP Data Objects : RAS, apriori

-II.22 PDO ODBC : RAS, non concerné

-II.23 PDO MySQL : RAS

-II.24 PostgreSQL : RAS

-II.25 Phar : RAS

-II.26 Reflection : RAS

-II.27 Sockets AI_IDN_ALLOW_UNASSIGNED et AI_IDN_USE_STD3_ASCII_RULES retirés : RAS

-II.28 Standard PHP Library (SPL) : RAS

-II.29 Standard Library II.29.1 assert() : RAS II.29.2 parse_str() : RAS II.29.3 strip_tags : RAS II.29.4

pitch314 commented 3 years ago

-II.29 Standard Library II.29.1 assert() : RAS II.29.2 parse_str() : RAS II.29.3 strip_tags : RAS II.29.4 strpos(), strrpos(), stripos(), strripos(), strstr(), strchr(), strrchr(), and stristr() l'argument en string : RAS II.29.5 : RAS II.29.6 : RAS II.29.7 : RAS II.29.8 l'argument args de vsprintf(), vfprintf(), and vprintf() doit être un array : RAS II.29.9 plus de salt dans password_hash(), dans les options : RAS II.29.10 quotemeta : RAS II.29.11 suppression des fonctions hebrevc, convert_cyr_string, money_format, ezmlm_hash, restore_include_path, get_magic_quotes_gpc, get_magic_quotes_runtime, fgetss : RAS II.29.12 suppresion FILTER_SANITIZE_MAGIC_QUOTES : RAS II.29.13 ordre de implode() : RAS, corrigé II.29.14 parse_url() : RAS II.29.15 var_dump, debug_zval_dump : RAS II.29.16 __sleep : RAS II.29.17 LC_ALL et LC_CTYPE : RAS II.29.18 DES supprimé dans crypt() : RAS II.29.19 : RAS II.29.20 "Any functions accepting callbacks that are not explicitly specified to accept parameters by reference will now warn if a callback with reference parameters is used." : Je pense que c'est bon II.29.21 file_get_contents() en HTTP1.1 par défaut II.29.22 crypt() sans salt supprimé : RAS II.29.23 substr(), mb_substr(), iconv_substr() and grapheme_substr() : RAS II.29.24 exec fonctions sur Windows met les guillements : RAS

-II.30 Sysvsem : RAS

-II.31 Tidy : RAS

-II.32 Tokenizer II.32.1 T_COMMENT sans newline : Je ne pense pas qu'on soit impacté II.32.2 Représentation des Namespaced T_NAME_QUALIFIED (Foo\Bar), T_NAME_FULLY_QUALIFIED (\Foo\Bar) and T_NAME_RELATIVE (namespace\Foo\Bar) tokens : RAS pour moi

-II.33 XMLReader : RAS

-II.34 XML-RCP : RAS

-II.35 Zip ZipArchive::OPSYS_Z_CPM supprimé : RAS

-II.36 Zlib : RAS

pitch314 commented 3 years ago

à vérifier :

II.1.24 + prioritaire sur . : cas 1 : Lors de la concaténation de string, s'il fallait des opérations mathématique, aavnt on mettait des parenthèses donc RAS pour ce cas. cas 2 : La concaténation de string puis ensuite une addition avec un nombre ; c'est un cas de mauvaise programmation. =>RAS pour moi II.1.26 warning convertie en erreur et notice en warning : Il faut sur un ogspy, qui a les logs à ALL, regarder les logs !! II.1.37 arithmetic and bitwise operators +, -, *, /, *, %, <<, >>, &, |, ^, ~, ++, -- en erreur sur array : à vérifier, mais RAS pour moi II.1.39 curly braces for offset access, de déprécié à supprimer : je crois qu'on avait corrigé non ? sinon voir logs pour erreur de parsage fichier PHP (ou du php8.exe -l .php) II.1.43 "Nested ternaries now require explicit parentheses" : je ne pense pas qu'on utilise des ternaires imbriquées.

Le seul moyen de voir est d'activer les logs PHP et surveiller.

darknoon29 commented 1 year ago

Obsolète (A Refaire pour PHP8.2)