bc breaks - incompatibilites php7
TRANSCRIPT
![Page 1: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/1.jpg)
Backwards Compatibility BreaksWebinar PHParty7 France - 28/11/15
![Page 2: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/2.jpg)
Peu de BC Breaks
PHP7 doit permettre de migrer sans trop de modifications
=
Peu de BC Breaks
![Page 3: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/3.jpg)
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
![Page 4: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/4.jpg)
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
![Page 5: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/5.jpg)
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
![Page 6: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/6.jpg)
Tags alternatifs
Suppression des ASP tags• <% %>• <%= %>
Suppression des scripts tags• <script language=”PHP”></script>
https://wiki.php.net/rfc/remove_alternative_php_tags
![Page 7: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/7.jpg)
Default switch
switch n’accepte plus plusieurs default
Retourne maintenant :
Fatal error: Switch statements may only contain one default clause
![Page 8: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/8.jpg)
Octal
Un octal invalide produit maintenant une erreur
PHP5 PHP7
![Page 9: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/9.jpg)
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
![Page 10: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/10.jpg)
Référence
L’assignation du résultat d’un new par référence n’est plus possible
![Page 11: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/11.jpg)
Argument de fonction
La redéfinition d’un argument d’une fonction n’est plus possible
![Page 12: BC Breaks - Incompatibilites PHP7](https://reader035.vdocuments.site/reader035/viewer/2022062522/589c06d01a28ab4f598b5fab/html5/thumbnails/12.jpg)
Contexte
func_get_arg et func_get_args retournent la valeur d’une variable dans le contexte local PHP5 PHP7