BC Breaks - Incompatibilites PHP7

Preview:

Citation preview

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