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

小云云
Freigeben: 2023-03-20 15:32:02
Original
2659 Leute haben es durchsucht

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
Nach dem Login kopieren

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 Login kopieren

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
Nach dem Login kopieren

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;
    }
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
        }
    }
Nach dem Login kopieren

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.
Nach dem Login kopieren

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";
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage