Heim >Backend-Entwicklung >PHP-Problem >Ist es notwendig, PHP zu aktualisieren?
Da PHP-Upgrades oberste Priorität haben und das Unternehmen ein Upgrade erst in naher Zukunft plant, konnte ich die Freude, die PHP7 mit sich bringt, vorher nur privat würdigen
Vorteile von PHP7
Ja, die Leistung wurde erheblich verbessert, wodurch Maschinen und Geld gespart werden können. (Empfohlenes Lernen: PHP-Video-Tutorial)
Neue Dinge mit PHP7
1 . Typdeklaration.
Sie können Zeichenfolgen, Ganzzahlen, Gleitkommazahlen und Bool-Werte verwenden, um Funktionsparametertypen und Funktionsrückgabewerte zu deklarieren.
declare(strict_types=1); function add(int $a, int $b): int { return $a+$b; } echo add(1, 2); echo add(1.5, 2.6);
php5 kann den obigen Code nicht ausführen. Wenn php7 ausgeführt wird, gibt es zunächst eine 3 und einen Fehler aus (Argument 1, das an add() übergeben wird, muss vom Typ Integer, Float sein);
Es gibt zwei Modi für die Skalartypdeklaration: obligatorisch (Standard) und strikt.
declare(strict_types=1) muss in der ersten Zeile der Datei platziert werden, um den Code auszuführen. Die aktuelle Datei ist gültig!
2.set_Exception_handler() garantiert nicht mehr, dass das, was empfangen wird, ein Ausnahmeobjekt sein muss
In PHP 7 wurden viele schwerwiegende Fehler und behebbare schwerwiegende Fehler konvertiert Ausnahme zu behandeln. Diese Ausnahmen erben von der Error-Klasse, die die Throwable-Schnittstelle implementiert (alle Ausnahmen implementieren diese Basisschnittstelle).
PHP7 erleichtert Entwicklern noch mehr und gibt Entwicklern eine bessere Kontrolle über das Programm, da Fehler standardmäßig dazu führen, dass das Programm direkt unterbrochen wird, während PHP7 die Möglichkeit bietet, es zu erfassen und zu verarbeiten, sodass das Programm fortgesetzt werden kann Die Implementierung bietet Programmierern weiterhin flexiblere Optionen.
3. Neuer Operator „“
语法:$c = $a <=> $b
Wenn $a > $b, hat $c einen Wert von 1
Wenn $a == $b, ist der Wert von $c 0
Wenn $a
4 Operator „??“
Wenn die Variable existiert und der Wert nicht NULL ist, gibt sie ihren eigenen Wert zurück, andernfalls gibt sie ihren zweiten Operanden zurück.
//原写法 $username = isset($_GET['user]) ? $_GET['user] : 'nobody'; //现在 $username = $_GET['user'] ?? 'nobody';
5.define() definiert konstantes Array
define('ARR',['a','b']); echo ARR[1];// a
6.AST: Abstract Syntax Tree, Abstract Syntax Tree
AST spielt die Rolle einer Middleware im PHP-Kompilierungsprozess und ersetzt die ursprüngliche Methode, Opcode direkt vom Interpreter auszuspucken, wodurch der Interpreter (Parser) und der Compiler (Compiler) entkoppelt werden, wodurch einige Hack-Codes reduziert und die Implementierung erleichtert werden können effizienter.
PHP5: Parser-Syntaxanalyse-> Ausführung
PHP-Code-> > AST -> OPCODE -> Ausführen
$anonymous_func = function(){return 'function';}; echo $anonymous_func(); // 输出function8. )
9.Unserialize bietet Filterfunktionen
, um die Code-Injektion illegaler Daten zu verhindern und sicherere deserialisierte Daten bereitzustellen.
10. Namespace-Referenzoptimierung
rrree
Das obige ist der detaillierte Inhalt vonIst es notwendig, PHP zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!