BC Breaks - Incompatibilites PHP7
Transcript of BC Breaks - Incompatibilites PHP7
Backwards Compatibility BreaksWebinar PHParty7 France - 28/11/15
Peu de BC Breaks
PHP7 doit permettre de migrer sans trop de modifications
=
Peu de BC Breaks
Suppression d’extensions
• ext/mySQL (dépréciée depuis PHP5.5)• utiliser PDO_MySQL ou MySQLi
• ext/ereg (dépréciée depuis PHP 5.3)• utiliser ext/pcre
• ext/sybase_ct, ext_mssql, ...
https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
Les constructeurs PHP4 (même nom pour la méthode que pour la classe) sont maintenant dépréciés
https://wiki.php.net/rfc/remove_php4_constructors
Constructeur PHP4
Mots clés réservés
De nouveaux types sont devenus des mots clés réservés pour les noms de classes, traits et interfaces
• int• float• bool• string• true• false
https://wiki.php.net/rfc/reserve_more_types_in_php_7https://wiki.php.net/rfc/reserve_even_more_types_in_php_7
● null● resource● object● mixed● numeric
Tags alternatifs
Suppression des ASP tags• <% %>• <%= %>
Suppression des scripts tags• <script language=”PHP”></script>
https://wiki.php.net/rfc/remove_alternative_php_tags
Default switch
switch n’accepte plus plusieurs default
Retourne maintenant :
Fatal error: Switch statements may only contain one default clause
Octal
Un octal invalide produit maintenant une erreur
PHP5 PHP7
Hexadécimal
Les chaînes de caractères hexadécimales ne sont plus reconnues
PHP5 PHP7
https://wiki.php.net/rfc/remove_hex_support_in_numeric_strings
Référence
L’assignation du résultat d’un new par référence n’est plus possible
Argument de fonction
La redéfinition d’un argument d’une fonction n’est plus possible
Contexte
func_get_arg et func_get_args retournent la valeur d’une variable dans le contexte local PHP5 PHP7