12
Backwards Compatibility Breaks Webinar PHParty7 France - 28/11/15

BC Breaks - Incompatibilites PHP7

Embed Size (px)

Citation preview

Page 1: BC Breaks - Incompatibilites PHP7

Backwards Compatibility BreaksWebinar PHParty7 France - 28/11/15

Page 2: BC Breaks - Incompatibilites PHP7

Peu de BC Breaks

PHP7 doit permettre de migrer sans trop de modifications

=

Peu de BC Breaks

Page 3: BC Breaks - Incompatibilites PHP7

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

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

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

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

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

Octal

Un octal invalide produit maintenant une erreur

PHP5 PHP7

Page 9: BC Breaks - Incompatibilites 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

Page 10: BC Breaks - Incompatibilites PHP7

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

Argument de fonction

La redéfinition d’un argument d’une fonction n’est plus possible

Page 12: BC Breaks - Incompatibilites PHP7

Contexte

func_get_arg et func_get_args retournent la valeur d’une variable dans le contexte local PHP5 PHP7