Comme PHP 8 est une nouvelle version majeure, il faut s’attendre à ce que l’ancien code ne soit plus compatible. Toutefois, la plupart des modifications susceptibles d’entraîner des complications étaient déjà obsolètes dans les versions 7.2, 7.3 et 7.4.
Parmi les dernières modifications, citons :
- The real type
- Magic quotes legacy
- array_key_exists() with objects
- FILTER_SANITIZE_MAGIC_QUOTES filter
- Reflection export() methods
- mb_strrpos() with encoding as 3rd argument
- implode() parameter order mix
- Unbinding $this from non-static closures
- hebrevc() function
- convert_cyr_string() function
- money_format() function
- ezmlm_hash() function
- restore_include_path() function
- allow_url_include ini directive
Si vous avez toujours maintenu votre code à jour, vous n’aurez pratiquement aucun problème, même si les changements rétroactifs sont incompatibles. Une liste complète des changements de cette Major Release est disponible dans la page de projet PHP.