Heim >Backend-Entwicklung >PHP7 >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['value'] = $array[$key]; $res[0] = $res['key'] = $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(''); // 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('$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.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!