Heim >Backend-Entwicklung >PHP-Tutorial >Was Sie nach dem Upgrade von PHP auf 7.2 wissen müssen

Was Sie nach dem Upgrade von PHP auf 7.2 wissen müssen

小云云
小云云Original
2018-03-01 13:32:422680Durchsuche

Die PHP-Version wurde kürzlich von 7.1 auf 7.2 aktualisiert. Es gibt einige Dinge, auf die wir nach dem Upgrade achten müssen. Ich hoffe, dieser Artikel kann allen helfen.

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

Nach dem Upgrade wurde festgestellt, dass bei mehreren Frameworks Probleme auftraten Der Hauptgrund dafür ist, dass einige Funktionen nach 7.2 aufgegeben wurden:

Die einzelnen Funktionen wurden aufgegeben:

Vorherige Version geschrieben:

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

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

In Version 7.2 wird angezeigt, dass es veraltet ist. Sie können die Methode „foreach“ verwenden oder die Methode „jede“ selbst ändern:

<?php
    function func_new_each(&$array){
       $res = array();       $key = key($array);       if($key !== null){
           next($array); 
           $res[1] = $res['value'] = $array[$key];           $res[0] = $res['key'] = $key;
       }else{           $res = false;
       }       return $res;
    }

2 übergeben wird, gibt die Funktion count() eine Warnung aus:

Beim Schreiben der vorherigen Version

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

wird die Typdifferenzierung in Version 7.2 strikt erzwungen. Wenn der Parametertyp falsch ist, wird eine Warnung ausgegeben erscheinen, daher müssen Sie auf den Wert des Parameters achten, Sie können ihn aber auch selbst ändern (nicht empfohlen):

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

3 durch eine anonyme Funktion ersetzt:

Vorherige Version geschrieben:

<?php
    $newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');    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.

In Version 7.2 wird es eine Warnmeldung geben, die stattdessen in eine anonyme Funktion geändert werden kann:

<?php
    $newfunc = function ($a,$b){
        return "ln($a) + ln($b) = " . log($a * $b);
    };    echo $newfunc(2, M_E) . "\n";

Bei den oben genannten Problemen handelt es sich um einige Probleme, die vorübergehend nach dem Upgrade aufgetreten sind. Weitere Informationen zu Änderungen finden Sie in der Übersetzung und Anordnung des Lianjia-Produkttechnikteams: PHP7.2-Versionshandbuch.

Verwandte Empfehlungen:

PHP7-Installationsbefehlsdatensatz unter Linux Linux PHP-Version anzeigen Linux PHP Upgrade Linux PHP MSSQ

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn