Comment préparer votre site internet avant de passer à PHP 7 ?

18 août 2017

La version PHP 7 se concentre principalement sur la suppression des fonctionnalités obsolètes dans ses versions précédentes et sur l'amélioration de la cohérence du langage.

Lors de toute sortie de nouvelle version :

  • certaines extensions peuvent être supprimées
  • certaines extensions ou fonctionnalités peuvent devenir obsolètes
  • certaines autres fonctionnalités peuvent être modifiées

Le terme « Dépréciation » implique ici que les programmeurs se voient proposer une meilleure alternative à une extension ou une fonction particulière afin que son utilisation soit découragée et que dans les versions futures, cette fonction ou cette extension puisse être complètement supprimée.
Cela nécessite l'utilisation du document de migration au moment de mise à niveau vers une version plus récente. Ce document peut couvrir les éléments suivants :

  • Nouvelles fonctionnalités et fonctions
  • Caractéristiques et fonctions obsolètes
  • Caractéristiques et fonctions modifiées
  • Modifications rétrocompatibles
  • Nouvelles constantes globales
  • Nouvelles classes et interfaces
  • Modifications des modules SAPI
  • Extensions et SAPI supprimés
  • Autres changements

Voici les étapes que nous pouvons suivre lors de la mise à niveau vers PHP 7 à partir de son ancienne version :
La première chose à faire est d’éliminer les éléments des extensions supprimées. Le Migration PHP Le document peut offrir de nombreuses alternatives à ces extensions supprimées.

Au moment de l'introduction de PHP 7, voici les extensions qui ont été supprimées :

  1. mssql
  2. mysql
  3. ereg
  4. sybase_ct

Deuxièmement, à partir du document de migration, nous disposons des informations requises sur lesquelles toutes les fonctions ont été modifiées. Lors de l'introduction d'une nouvelle version, certains changements peuvent également être introduits, tels que :

  • changement du type de retour
  • suppression de certains paramètres

Nous devons donc vérifier si l'une de ces fonctions modifiées est utilisée sur notre site Web PHP, nous devons nous référer au document de migration correspondant et apporter les modifications requises en conséquence.

Dans le cas de PHP 7, certaines des fonctions modifiées sont les suivantes :

  • Les fonctions mktime() et gmmktime() n'acceptent plus le paramètre is_dst.
  • Les fonctions substr() et iconv_substr() renvoient maintenant une chaîne vide, où chaîne équivaut à un début de caractères longs.

La troisième chose à faire est de tenter d'éliminer l'utilisation de fonctions et d'extensions obsolètes, car celles-ci seront éventuellement supprimées dans les prochaines versions.

Dans le cas de PHP 7, voici quelques-unes des fonctionnalités obsolètes :

  1. Constructeurs de style PHP 4 – Pour créer des constructeurs, PHP 4 a utilisé les mêmes méthodes que la classe dans laquelle ils ont été définis, ce qui est une fonctionnalité obsolète et sera supprimée à l'avenir. Ainsi, ces noms de méthodes doivent maintenant être remplacés par __construct()
  2. Les appels statiques aux méthodes non statiques sont également obsolètes et seront supprimés dans les prochaines versions.
  3. L'option salt pour la fonction password_hash() est obsolète car la fonction peut générer un sel cryptographiquement sécurisé au cas où le développeur ne fournirait pas le sel.

La prochaine, c'est-à-dire la quatrième chose à faire, est le traitement des modifications rétrocompatibles. Au moment de l'introduction de la nouvelle version, le document de migration doit être consulté pour les « modifications rétrocompatibles ».

Voici quelques-unes des modifications rétrocompatibles :

  • foreach ne change plus le pointeur de tableau interne
  • global n'accepte désormais que des variables simples
  • Les variables variables ne peuvent plus être utilisées avec le mot-clé global.
  • Les chaînes hexadécimales ne sont plus considérées comme numériques
    Par exemple:
    <?php
    var_dump(is_numeric("0x123"));
    ?> Le résultat de l'exemple mentionné ci-dessus en PHP 7 est :bool(false)
  • Modifications apportées à la division par zéro
    Auparavant, lorsque 0 était utilisé comme diviseur pour les opérateurs Divide(/) ou Module(%), E_WARNING était émis et false était renvoyé. Il est maintenant devenu l'opérateur de division renvoyant un flottant sous la forme +INF, -INF ou NAN. L'opérateur de module E_WARNING a été supprimé et lèvera une exception DivisionByZeroError.

Nous, en tant que l'un des principaux Société de développement PHP possède plus d'une décennie d'expérience dans l'exécution de projets de développement Web PHP pour sa clientèle mondiale opérant dans divers secteurs. Nous utilisons les outils et techniques les plus avancés pour trouver les solutions les plus efficaces à vos problèmes commerciaux. Vous pouvez également consulter notre 'Embaucher un développeur PHP' dans lequel vous pouvez évaluer les compétences techniques de nos développeurs, leur approche de votre projet et leurs travaux antérieurs afin de choisir parmi le vivier de talents le plus expérimenté du secteur.

fr_FRFrench