Maison > développement back-end > PHP7 > le corps du texte

Résumé des éléments auxquels vous devez prêter attention après la mise à niveau de PHP vers 7.2

coldplay.xixi
Libérer: 2023-02-17 21:06:01
avant
2093 Les gens l'ont consulté

Résumé des éléments auxquels vous devez prêter attention après la mise à niveau de PHP vers 7.2

La version PHP a été mise à jour récemment, de 7.1 à 7.2. La version avant la mise à jour :

PHP 7.1.14 (cli) (built: Feb 2 2018 08:42:59) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.14, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
Copier après la connexion

La version après la mise à niveau :

PHP 7.2.2 (cli) (built: Feb 24 2018 17:51:12) ( ZTS DEBUG ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.2, Copyright (c) 1999-2018, by Zend Technologies
Copier après la connexion
<🎜. >

Recommandé (gratuit) : PHP7

Après la mise à niveau, j'ai constaté que plusieurs frameworks rencontraient des problèmes lors de leur utilisation. La raison principale est que certaines fonctions ont été abandonnées après. 7.2, répertoriés ci-dessous Plusieurs problèmes courants :

1. Chaque fonction a été abandonnée :

Écriture de la version précédente :

<?php
    $array = array();
    each($array);

    // Deprecated:  The each() function is deprecated. This message will be suppressed on further calls
Copier après la connexion

vous demandera obsolète dans la version 7.2, vous pouvez utiliser foreach à la place de chaque méthode, ou vous pouvez modifier chaque méthode vous-même :

<?php
    function func_new_each(&$array){
       $res = array();       $key = key($array);       if($key !== null){
           next($array); 
           $res[1] = $res[&#39;value&#39;] = $array[$key];           $res[0] = $res[&#39;key&#39;] = $key;
       }else{           $res = false;
       }       return $res;
    }
Copier après la connexion

2. Lorsqu'un paramètre non valide est passé, la fonction count() lancera un avertissement :

Écrit de la version précédente

<?php
    count(&#39;&#39;);    // Warning:  count(): Parameter must be an array or an object that implements Countable
Copier après la connexion

Dans la version 7.2, la distinction de type sera strictement appliquée. Si le type du paramètre est incorrect, un avertissement apparaîtra, vous devez donc le faire. faites attention à la valeur du paramètre lorsque vous utilisez la méthode count, mais vous pouvez également passer Modifier la méthode vous-même (non recommandé) :

<?php
    function func_new_count($array_or_countable,$mode = COUNT_NORMAL){
        if(is_array($array_or_countable) || is_object($array_or_countable)){            return count($array_or_countable, $mode);
        }else{            return 0;
        }
    }
Copier après la connexion

3. create_function est abandonné et peut être remplacé par un anonyme. fonction :

Écrit de la version précédente :

<?php
    $newfunc = create_function(&#39;$a,$b&#39;, &#39;return "ln($a) + ln($b) = " . log($a * $b);&#39;);    echo "New anonymous function: $newfunc\n";    echo $newfunc(2, M_E) . "\n";    // outputs
    // New anonymous function: lambda_1
    // ln(2) + ln(2.718281828459) = 1.6931471805599

    // Warning This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.
Copier après la connexion

Il y aura une invite d'avertissement dans la version 7.2, qui peut être modifiée en fonction anonyme à la place :

<?php
    $newfunc = function ($a,$b){
        return "ln($a) + ln($b) = " . log($a * $b);
    };    echo $newfunc(2, M_E) . "\n";
Copier après la connexion
Le ci-dessus sont quelques problèmes temporairement rencontrés après la mise à niveau. Pour d'autres modifications connexes, veuillez consulter l'équipe technique du produit Lianjia pour plus de détails Traduction et organisation : guide de version PHP7.2

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:PHP升级7.2之后需要注意的事情_Mider'S Blog-CSDN博客
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal