{"id":10569,"date":"2017-08-18T17:29:30","date_gmt":"2017-08-18T11:59:30","guid":{"rendered":"https:\/\/www.carmatec.com\/?p=10569"},"modified":"2022-09-28T05:37:44","modified_gmt":"2022-09-28T05:37:44","slug":"preparer-la-mise-a-jour-du-site-web-php-7","status":"publish","type":"post","link":"https:\/\/www.carmatec.com\/fr_fr\/blog\/prepare-website-upgrading-php-7\/","title":{"rendered":"Comment pr\u00e9parer votre site internet avant de passer \u00e0 PHP 7 ?"},"content":{"rendered":"<p>La version PHP 7 se concentre principalement sur la suppression des fonctionnalit\u00e9s obsol\u00e8tes dans ses versions pr\u00e9c\u00e9dentes et sur l&#039;am\u00e9lioration de la coh\u00e9rence du langage.<\/p>\n<p><strong>Lors de toute sortie de nouvelle version :<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>certaines extensions peuvent \u00eatre supprim\u00e9es<\/li>\n<li>certaines extensions ou fonctionnalit\u00e9s peuvent devenir obsol\u00e8tes<\/li>\n<li>certaines autres fonctionnalit\u00e9s peuvent \u00eatre modifi\u00e9es<\/li>\n<\/ul>\n<p>Le terme \u00ab\u00a0D\u00e9pr\u00e9ciation\u00a0\u00bb implique ici que les programmeurs se voient proposer une meilleure alternative \u00e0 une extension ou une fonction particuli\u00e8re afin que son utilisation soit d\u00e9courag\u00e9e et que dans les versions futures, cette fonction ou cette extension puisse \u00eatre compl\u00e8tement supprim\u00e9e.<br \/>\nCela n\u00e9cessite l&#039;utilisation du document de migration au moment de <a href=\"https:\/\/www.carmatec.com\/fr_fr\/apprendre-la-technologie\/preparer-la-mise-a-jour-du-site-web-php-7\/\">mise \u00e0 niveau vers une version plus r\u00e9cente<\/a>. Ce document peut couvrir les \u00e9l\u00e9ments suivants\u00a0:<\/p>\n<ul style=\"font-weight: normal;\">\n<li>Nouvelles fonctionnalit\u00e9s et fonctions<\/li>\n<li>Caract\u00e9ristiques et fonctions obsol\u00e8tes<\/li>\n<li>Caract\u00e9ristiques et fonctions modifi\u00e9es<\/li>\n<li>Modifications r\u00e9trocompatibles<\/li>\n<li>Nouvelles constantes globales<\/li>\n<li>Nouvelles classes et interfaces<\/li>\n<li>Modifications des modules SAPI<\/li>\n<li>Extensions et SAPI supprim\u00e9s<\/li>\n<li>Autres changements<\/li>\n<\/ul>\n<p>Voici les \u00e9tapes que nous pouvons suivre lors de la mise \u00e0 niveau vers PHP 7 \u00e0 partir de son ancienne version\u00a0:<br \/>\nLa premi\u00e8re chose \u00e0 faire est d\u2019\u00e9liminer les \u00e9l\u00e9ments des extensions supprim\u00e9es. Le <a href=\"https:\/\/www.carmatec.com\/fr_fr\/apprendre-la-technologie\/envisagez-de-migrer-php-5-vers-php-7-2017\/\">Migration PHP<\/a> Le document peut offrir de nombreuses alternatives \u00e0 ces extensions supprim\u00e9es.<\/p>\n<p><strong>Au moment de l&#039;introduction de PHP 7, voici les extensions qui ont \u00e9t\u00e9 supprim\u00e9es\u00a0:<\/strong><\/p>\n<ol style=\"font-weight: normal;\">\n<li>mssql<\/li>\n<li>mysql<\/li>\n<li>ereg<\/li>\n<li>sybase_ct<\/li>\n<\/ol>\n<p>Deuxi\u00e8mement, \u00e0 partir du document de migration, nous disposons des informations requises sur lesquelles toutes les fonctions ont \u00e9t\u00e9 modifi\u00e9es. Lors de l&#039;introduction d&#039;une nouvelle version, certains changements peuvent \u00e9galement \u00eatre introduits, tels que\u00a0:<\/p>\n<ul style=\"font-weight: normal;\">\n<li>changement du type de retour<\/li>\n<li>suppression de certains param\u00e8tres<\/li>\n<\/ul>\n<p>Nous devons donc v\u00e9rifier si l&#039;une de ces fonctions modifi\u00e9es est utilis\u00e9e sur notre site Web PHP, nous devons nous r\u00e9f\u00e9rer au document de migration correspondant et apporter les modifications requises en cons\u00e9quence.<\/p>\n<p><strong>Dans le cas de PHP 7, certaines des fonctions modifi\u00e9es sont les suivantes\u00a0:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>Les fonctions mktime() et gmmktime() n&#039;acceptent plus le param\u00e8tre is_dst.<\/li>\n<li>Les fonctions substr() et iconv_substr() renvoient maintenant une cha\u00eene vide, o\u00f9 cha\u00eene \u00e9quivaut \u00e0 un d\u00e9but de caract\u00e8res longs.<\/li>\n<\/ul>\n<p>La troisi\u00e8me chose \u00e0 faire est de tenter d&#039;\u00e9liminer l&#039;utilisation de fonctions et d&#039;extensions obsol\u00e8tes, car celles-ci seront \u00e9ventuellement supprim\u00e9es dans les prochaines versions.<\/p>\n<p><strong>Dans le cas de PHP 7, voici quelques-unes des fonctionnalit\u00e9s obsol\u00e8tes\u00a0:<\/strong><\/p>\n<ol style=\"font-weight: normal;\">\n<li>Constructeurs de style PHP 4 \u2013 Pour cr\u00e9er des constructeurs, PHP 4 a utilis\u00e9 les m\u00eames m\u00e9thodes que la classe dans laquelle ils ont \u00e9t\u00e9 d\u00e9finis, ce qui est une fonctionnalit\u00e9 obsol\u00e8te et sera supprim\u00e9e \u00e0 l&#039;avenir. Ainsi, ces noms de m\u00e9thodes doivent maintenant \u00eatre remplac\u00e9s par __construct()<\/li>\n<li>Les appels statiques aux m\u00e9thodes non statiques sont \u00e9galement obsol\u00e8tes et seront supprim\u00e9s dans les prochaines versions.<\/li>\n<li>L&#039;option salt pour la fonction password_hash() est obsol\u00e8te car la fonction peut g\u00e9n\u00e9rer un sel cryptographiquement s\u00e9curis\u00e9 au cas o\u00f9 le d\u00e9veloppeur ne fournirait pas le sel.<\/li>\n<\/ol>\n<p>La prochaine, c&#039;est-\u00e0-dire la quatri\u00e8me chose \u00e0 faire, est le traitement des modifications r\u00e9trocompatibles. Au moment de l&#039;introduction de la nouvelle version, le document de migration doit \u00eatre consult\u00e9 pour les \u00ab\u00a0modifications r\u00e9trocompatibles\u00a0\u00bb.<\/p>\n<p><strong>Voici quelques-unes des modifications r\u00e9trocompatibles\u00a0:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>foreach ne change plus le pointeur de tableau interne<\/li>\n<li>global n&#039;accepte d\u00e9sormais que des variables simples<\/li>\n<li>Les variables variables ne peuvent plus \u00eatre utilis\u00e9es avec le mot-cl\u00e9 global.<\/li>\n<li>Les cha\u00eenes hexad\u00e9cimales ne sont plus consid\u00e9r\u00e9es comme num\u00e9riques<br \/>\nPar exemple:<br \/>\n&lt;?php<br \/>\nvar_dump(is_numeric(&quot;0x123&quot;));<br \/>\n?&gt; Le r\u00e9sultat de l&#039;exemple mentionn\u00e9 ci-dessus en PHP 7 est\u00a0:bool(false)<\/li>\n<li>Modifications apport\u00e9es \u00e0 la division par z\u00e9ro<br \/>\nAuparavant, lorsque 0 \u00e9tait utilis\u00e9 comme diviseur pour les op\u00e9rateurs Divide(\/) ou Module(%), E_WARNING \u00e9tait \u00e9mis et false \u00e9tait renvoy\u00e9. Il est maintenant devenu l&#039;op\u00e9rateur de division renvoyant un flottant sous la forme +INF, -INF ou NAN. L&#039;op\u00e9rateur de module E_WARNING a \u00e9t\u00e9 supprim\u00e9 et l\u00e8vera une exception DivisionByZeroError.<\/li>\n<\/ul>\n<p>Nous, en tant que l&#039;un des principaux <a href=\"https:\/\/www.carmatec.com\/fr_fr\/societe-de-developpement-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">Soci\u00e9t\u00e9 de d\u00e9veloppement PHP<\/a> poss\u00e8de plus d&#039;une d\u00e9cennie d&#039;exp\u00e9rience dans l&#039;ex\u00e9cution de projets de d\u00e9veloppement Web PHP pour sa client\u00e8le mondiale op\u00e9rant dans divers secteurs. Nous utilisons les outils et techniques les plus avanc\u00e9s pour trouver les solutions les plus efficaces \u00e0 vos probl\u00e8mes commerciaux. Vous pouvez \u00e9galement consulter notre &#039;<a href=\"https:\/\/www.carmatec.com\/fr_fr\/embaucher-des-developpeurs\/embaucher-un-developpeur-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">Embaucher un d\u00e9veloppeur PHP<\/a>&#039; dans lequel vous pouvez \u00e9valuer les comp\u00e9tences techniques de nos d\u00e9veloppeurs, leur approche de votre projet et leurs travaux ant\u00e9rieurs afin de choisir parmi le vivier de talents le plus exp\u00e9riment\u00e9 du secteur.<\/p>","protected":false},"excerpt":{"rendered":"<p>The PHP 7 release is mainly focused on removing functionality deprecated in its previous versions and, enhancing the consistency in the language. At the time of any new version release: some extensions can get removed some extensions or functionalities can get deprecated some other functionalities can get altered The term \u2018Deprecation\u2019 here, implies that the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":29477,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,19],"tags":[],"class_list":["post-10569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-php-development"],"_links":{"self":[{"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/posts\/10569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/comments?post=10569"}],"version-history":[{"count":0,"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/posts\/10569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/media\/29477"}],"wp:attachment":[{"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/media?parent=10569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/categories?post=10569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carmatec.com\/fr_fr\/wp-json\/wp\/v2\/tags?post=10569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}