Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Dinge, auf die Sie nach dem Upgrade von PHP auf 7.2 achten müssen

Zusammenfassung der Dinge, auf die Sie nach dem Upgrade von PHP auf 7.2 achten müssen

coldplay.xixi
coldplay.xixinach vorne
2021-03-21 14:44:282079Durchsuche

Zusammenfassung der Dinge, auf die Sie nach dem Upgrade von PHP auf 7.2 achten müssen

Kürzlich die PHP-Version von 7.1 auf 7.2 aktualisiert. Version vor dem Upgrade:

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

Version nach dem Upgrade:

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

Empfohlen (kostenlos): PHP7

Nach Abschluss des Upgrades habe ich mehrere Frameworks gefunden Es gibt Probleme bei der Verwendung. Der Hauptgrund ist, dass einige Funktionen nach 7.2 aufgegeben wurden:

1 Die einzelnen Funktionen wurden aufgegeben: rrree

In Version 7.2 meldet, dass sie veraltet ist. Sie können die Methode „each“ auch selbst ändern:

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

    // Deprecated:  The each() function is deprecated. This message will be suppressed on further calls

2 Wenn ein ungültiger Parameter übergeben wird, gibt die Funktion „count()“ eine Warnung aus Warnung:

Vorherige Version Die Schreibmethode

<?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;
    }

wird in Version 7.2 strikt durchgesetzt. Wenn der Parametertyp falsch ist, wird eine Warnung angezeigt, wenn Sie die Anzahl verwenden Sie können sie jedoch auch ersetzen, indem Sie die Methode selbst ändern (nicht empfohlen):

<?php
    count(&#39;&#39;);    // Warning:  count(): Parameter must be an array or an object that implements Countable

3. create_function wird aufgegeben und kann durch eine anonyme Funktion ersetzt werden:

Vorherige Version schreibt:

<?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;
        }
    }

Es wird eine geben Eine Warnung in Version 7.2. Sie kann stattdessen in eine anonyme Funktion geändert werden:

<?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.

Das Obige ist das Upgrade. Mehrere vorübergehend aufgetretene Probleme und andere damit verbundene Änderungen finden sich in der Übersetzung und Anordnung des Lianjia-Produkttechnikteams: PHP7 .2 Versionsleitfaden

Das obige ist der detaillierte Inhalt vonZusammenfassung der Dinge, auf die Sie nach dem Upgrade von PHP auf 7.2 achten müssen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:PHP升级7.2之后需要注意的事情_Mider'S Blog-CSDN博客. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen