In diesem Artikel teilen wir Ihnen hauptsächlich die neuen Funktionen in PHP7 mit, die wir lernen und verwenden sollten, in der Hoffnung, allen zu helfen.
PHP7 wurde im November 2015 offiziell veröffentlicht. Dieses Update kann als wichtiger Meilenstein für PHP bezeichnet werden. Es wird erhebliche Leistungsverbesserungen und neue Funktionen mit sich bringen und einige Funktionen der Vorgängerversion verbessern. Der Herausgeber dieses Artikels wird mit Ihnen zusammenarbeiten, um die neuen Funktionen in PHP7 zu verstehen und zu besprechen.
1. Skalartypdeklaration
Wir wissen, dass PHP eine schwach typisierte Programmiersprache ist, daher bietet es keine Methode zur Angabe des Typs von Eingabeparametern und Rückgabewerten. PHP7 bricht diesen Status Quo und fügt Unterstützung für Skalartypen hinzu (. int, float, string, bool) Deklarationsunterstützung, fügen Sie die Anweisung „declare(strict_types=1)“ hinzu, um zu deklarieren, ob eine strikte Typprüfung erfolgt. Schauen wir uns einen Codeabschnitt an:
(strict_types=) { $x + $ y;} add(, );
Gültige Typen sind: Klassen-/Schnittstellenname, self, array, callable, bool, float, int und string.
?— NULL-Merge-Operator
Der NULL-Koaleszenzoperator wurde in PHP7 hinzugefügt. Unterschätzen Sie dieses „??“ Mit ihm können wir problemlos einen Parameter abrufen und einen Parameter bereitstellen, wenn dieser leer ist. Wie gibt der Operator ?? die linke Seite zurück, wenn der Wert auf seiner linken Seite existiert und nicht NULL ist, andernfalls wird der Wert auf der rechten Seite zurückgegeben? Lassen Sie uns die Leistungsfähigkeit des ??-Operators anhand des folgenden Codeabschnitts erleben.
<?php // 获取user参数的值(如果为空,则用'nobody') // PHP5中我们这样来实现: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; // PHP7中,使用??运算符更便捷: $username = $_GET['user'] ?? 'nobody'; ?>
Anonyme Klasse
Wie der Name schon sagt, hat eine anonyme Klasse keinen Klassennamen. Ihre Deklaration und Instanziierung unterstützt gleichzeitig die Instanziierung einer anonymen Klasse Klasse, die verwendet werden kann, um eine vollständige Klassendefinition von „Einweg“ zu ersetzen.
echo ( { { ; }})->myMethod();
Weitere Fehler können mit Ausnahmen behandelt werden
Mehr Fehler in PHP7 werden zu abfangbaren Ausnahmen und werden an den Entwickler zurückgegeben, wenn sie nicht abgefangen werden wird zu einer Ausnahme, die innerhalb des Programms behandelt werden kann. Standardmäßig führt Error direkt dazu, dass das Programm unterbrochen wird, während PHP7 ihn über Try/Catch-Blöcke erfasst und verarbeitet, sodass das Programm weiterhin ausgeführt werden kann und Programmierern flexiblere Optionen geboten werden.
Codebeispiel:
nonExistFunction($arg);
Zu diesem Zeitpunkt löst der obige Code den Fehler „Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktionsmethode () für ein Nicht-Objekt“ aus Ein schwerwiegender Fehler stoppt die weitere Ausführung des folgenden Codes.
Wenn Sie also den Code weiterhin ausführen möchten, können Sie ihn durch Ausnahmebehandlung lösen:
{ nonExistFunction($arg); } (EngineException $e ) { ;}
Kombiniert mit dem Vergleichsoperator (<=> )
Dies ist nicht der Fall. Schauen wir uns zur weiteren Erläuterung direkt den Beispielcode an. Sie können die Funktion dieses Operators anhand des Codes leicht verstehen.
{ ($a < $b) ? : (($a > $b) ? : )} { $a <=> $b;}
Array-Konstanten definieren
In der Vergangenheit, als wir define() zum Definieren von Konstanten verwendeten, unterstützte der Datentyp nur Skalare, aber in PHP7 unterstützt er das Definieren von Konstanten von Array-Typen .
define('MYCONSTANT', array('a','b','c'))
Es gibt viele neue Funktionen in PHP7. Wir werden sie auch in Zukunft aktualisieren. Lassen Sie uns gemeinsam kommunizieren, lernen und Fortschritte machen.
Verwandte Empfehlungen:
Detaillierte Erklärung des Schlüssels zur Verdoppelung der Leistung von PHP7