Heim >Backend-Entwicklung >PHP-Tutorial >Was Sie nach dem Upgrade von PHP auf 7.2 wissen müssen
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:
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; }
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; } }
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:
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!