SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Backwards Compatibility Breaks
Webinar 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_7
https://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

Weitere ähnliche Inhalte

Ähnlich wie BC Breaks - Incompatibilites PHP7

Présentation de PHP 5.4 [FR]
Présentation de PHP 5.4 [FR]Présentation de PHP 5.4 [FR]
Présentation de PHP 5.4 [FR]Wixiweb
 
PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4julien pauli
 
PHPotes: Codeigniter
PHPotes: CodeigniterPHPotes: Codeigniter
PHPotes: CodeigniterAnDaolVras
 
Drupal 8, symfony
Drupal 8, symfonyDrupal 8, symfony
Drupal 8, symfonyjeUXdiCode
 
Nouveautés dans TYPO3 CMS 6.0
Nouveautés dans TYPO3 CMS 6.0Nouveautés dans TYPO3 CMS 6.0
Nouveautés dans TYPO3 CMS 6.0Idéative
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm
 
Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Paris Salesforce Developer Group
 
PHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_ExtensionsPHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_Extensionsjulien pauli
 
PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1fayway
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
Meetup CakePHP Amiens / 25 mars 2015
Meetup CakePHP Amiens / 25 mars 2015Meetup CakePHP Amiens / 25 mars 2015
Meetup CakePHP Amiens / 25 mars 2015Benjamin Lampérier
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.pptadiouf2
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005Eric D.
 
Powershell
PowershellPowershell
PowershellEROL
 
Alphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQLAlphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQLAlphorm
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieLoic Yon
 

Ähnlich wie BC Breaks - Incompatibilites PHP7 (20)

Présentation de PHP 5.4 [FR]
Présentation de PHP 5.4 [FR]Présentation de PHP 5.4 [FR]
Présentation de PHP 5.4 [FR]
 
PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4
 
PHPotes: Codeigniter
PHPotes: CodeigniterPHPotes: Codeigniter
PHPotes: Codeigniter
 
Drupal 8, symfony
Drupal 8, symfonyDrupal 8, symfony
Drupal 8, symfony
 
Nouveautés dans TYPO3 CMS 6.0
Nouveautés dans TYPO3 CMS 6.0Nouveautés dans TYPO3 CMS 6.0
Nouveautés dans TYPO3 CMS 6.0
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.x
 
Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014
 
PHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_ExtensionsPHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_Extensions
 
Lp web tp3_idse
Lp web tp3_idseLp web tp3_idse
Lp web tp3_idse
 
PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1PHP/ExtJs experience feedback - IAV case - 1
PHP/ExtJs experience feedback - IAV case - 1
 
Php 5.3
Php 5.3Php 5.3
Php 5.3
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 
Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Meetup CakePHP Amiens / 25 mars 2015
Meetup CakePHP Amiens / 25 mars 2015Meetup CakePHP Amiens / 25 mars 2015
Meetup CakePHP Amiens / 25 mars 2015
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Powershell
PowershellPowershell
Powershell
 
Alphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQLAlphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQL
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
 

Mehr von Darkmira

Null Coalescing Operator
Null Coalescing OperatorNull Coalescing Operator
Null Coalescing OperatorDarkmira
 
Return Type Declaration
Return Type DeclarationReturn Type Declaration
Return Type DeclarationDarkmira
 
Uniform Variable Syntax
Uniform Variable SyntaxUniform Variable Syntax
Uniform Variable SyntaxDarkmira
 
Scalar Types Hints
Scalar Types HintsScalar Types Hints
Scalar Types HintsDarkmira
 
Le spaceship operator
Le spaceship operatorLe spaceship operator
Le spaceship operatorDarkmira
 
Anonymous classes
Anonymous classesAnonymous classes
Anonymous classesDarkmira
 
Benchmark php7
Benchmark php7Benchmark php7
Benchmark php7Darkmira
 
Webinar PHParty7 - Errors handlings
Webinar PHParty7 - Errors handlingsWebinar PHParty7 - Errors handlings
Webinar PHParty7 - Errors handlingsDarkmira
 

Mehr von Darkmira (8)

Null Coalescing Operator
Null Coalescing OperatorNull Coalescing Operator
Null Coalescing Operator
 
Return Type Declaration
Return Type DeclarationReturn Type Declaration
Return Type Declaration
 
Uniform Variable Syntax
Uniform Variable SyntaxUniform Variable Syntax
Uniform Variable Syntax
 
Scalar Types Hints
Scalar Types HintsScalar Types Hints
Scalar Types Hints
 
Le spaceship operator
Le spaceship operatorLe spaceship operator
Le spaceship operator
 
Anonymous classes
Anonymous classesAnonymous classes
Anonymous classes
 
Benchmark php7
Benchmark php7Benchmark php7
Benchmark php7
 
Webinar PHParty7 - Errors handlings
Webinar PHParty7 - Errors handlingsWebinar PHParty7 - Errors handlings
Webinar PHParty7 - Errors handlings
 

BC Breaks - Incompatibilites PHP7

  • 1. Backwards Compatibility Breaks Webinar PHParty7 France - 28/11/15
  • 2. Peu de BC Breaks PHP7 doit permettre de migrer sans trop de modifications = Peu de BC Breaks
  • 3. 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
  • 4. 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
  • 5. 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_7 https://wiki.php.net/rfc/reserve_even_more_types_in_php_7 ● null ● resource ● object ● mixed ● numeric
  • 6. Tags alternatifs Suppression des ASP tags • <% %> • <%= %> Suppression des scripts tags • <script language=”PHP”></script> https://wiki.php.net/rfc/remove_alternative_php_tags
  • 7. Default switch switch n’accepte plus plusieurs default Retourne maintenant : Fatal error: Switch statements may only contain one default clause
  • 8. Octal Un octal invalide produit maintenant une erreur PHP5 PHP7
  • 9. 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
  • 10. Référence L’assignation du résultat d’un new par référence n’est plus possible
  • 11. Argument de fonction La redéfinition d’un argument d’une fonction n’est plus possible
  • 12. Contexte func_get_arg et func_get_args retournent la valeur d’une variable dans le contexte local PHP5 PHP7