Neue Dinge mit PHP7
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 gibt es viele schwerwiegende Fehler und behebbare schwerwiegende Fehler Fehler werden zur Verarbeitung in Ausnahmen umgewandelt. 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 „<=>“
Syntax: $c = $a <=> $a > $b, der Wert von $c ist 1
Wenn $a == $b, ist der Wert von $c 0
Wenn $a < Der Wert von c ist -1
4. Neuer Operator „??“Wenn die Variable existiert und der Wert nicht NULL ist, wird sie ihren eigenen Wert zurückgeben , andernfalls wird der zweite Operand zurückgegeben.
//原写法 $username = isset($_GET['user]) ? $_GET['user] : 'nobody'; //现在 $username = $_GET['user'] ?? 'nobody';
define('ARR',['a','b']);
echo ARR[1];// a
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-> -> OPCODE -> Ausführen
Referenz:
$anonymous_func = function(){return 'function';};
echo $anonymous_func(); // 输出function
9.Unserialize bietet Filterfunktionen
Verhindern Sie die Code-Injektion illegaler Daten und stellen Sie sicherere deserialisierte Daten bereit.
10. Namespace-ReferenzoptimierungDas obige ist der detaillierte Inhalt vonNeue Funktionen von PHP7: Neue Dinge von PHP7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!// PHP7以前语法的写法
use FooLibrary\Bar\Baz\ClassA;
use FooLibrary\Bar\Baz\ClassB;
// PHP7新语法写法
use FooLibrary\Bar\Baz\{ ClassA, ClassB};