Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung neuer Funktionen von PHP7.3 bis PHP7.4

Einführung neuer Funktionen von PHP7.3 bis PHP7.4

coldplay.xixi
coldplay.xixinach vorne
2021-04-02 09:39:403183Durchsuche

Einführung neuer Funktionen von PHP7.3 bis PHP7.4

1. Objektattribute unterstützen jetzt die Typdeklaration

<?php
class User {
    public int $id;
    public string $name;
}
?>

Im obigen Beispiel wird die Konvertierung von $id in den Ganzzahltyp und $name in den Stringtyp$name为字符串类型

推荐(免费):PHP7

2、箭头函数

现在箭头函数会提供一个短语法用来定义那些在作用域内值申明不明确的函数

<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>

3、有限返回类型协方差和参数类型协方差(谷歌翻译的)

下列代码将会运行

<?php
class A {}
class B extends A {}

class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}
?>

仅当使用自动加载时,才提供完全差异支持。 在单个文件内,只能使用非循环类型引用,因为所有类在被引用之前都必须可用

4、空合并分配运算符

<?php
$array[&#39;key&#39;] ??= computeDefault();
// is roughly equivalent to
if (!isset($array[&#39;key&#39;])) {
    $array[&#39;key&#39;] = computeDefault();
}
?>

5、Unpacking inside arrays(谷歌翻译是 在数组内部解包,看这不对,先用英文吧)

<?php
$parts = [&#39;apple&#39;, &#39;pear&#39;];
$fruits = [&#39;banana&#39;, &#39;orange&#39;, ...$parts, &#39;watermelon&#39;];
// [&#39;banana&#39;, &#39;orange&#39;, &#39;apple&#39;, &#39;pear&#39;, &#39;watermelon&#39;];
?>

6、数值字符分隔符

数字字符可以在数字之间包含下划线。

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>

7、弱参考(Weak references)

弱参考允许编程人员保留对不能防止被销毁的对象的参考(Weak references allow the programmer to retain a reference to an object that does not prevent the object from being destroyed.)

8、允许__toString()的异常

现在可以通过__toString()

erzwungen Empfohlen (kostenlos): PHP7

2, Pfeilfunktion 🎜🎜Jetzt bieten Pfeilfunktionen eine kurze Syntax zum Definieren von Funktionen, deren Wertdeklarationen innerhalb des Gültigkeitsbereichs unklar sind🎜rrreee🎜3. Begrenzte Rückgabetyp-Kovarianz und Parametertyp-Kovarianz (Google Translate)🎜🎜Der folgende Code wird ausgeführt🎜rrreee🎜 Volle Diff-Unterstützung wird nur bei Verwendung von Autoloading bereitgestellt. Innerhalb einer einzelnen Datei können nur nichtzyklische Typreferenzen verwendet werden, da alle Klassen verfügbar sein müssen, bevor sie referenziert werden können🎜🎜4. Null-Merge-Zuweisungsoperator🎜rrreee🎜5 ist falsch, zuerst Englisch verwenden)🎜rrreee🎜6. Numerisches Zeichentrennzeichen🎜🎜Numerische Zeichen können Unterstriche zwischen Zahlen enthalten. 🎜rrreee🎜7. Schwache Referenzen 🎜🎜Schwache Referenzen ermöglichen es dem Programmierer, eine Referenz auf ein Objekt beizubehalten, die nicht verhindert, dass das Objekt zerstört wird.)🎜🎜8. __toString() Ausnahmen zulassen🎜🎜 Sie können jetzt Ausnahmen über __toString() auslösen. In früheren Versionen führte dies zu einem schwerwiegenden Fehler. Vorhandene Fehler bei der Zeichenfolgenkonvertierung, die zu schwerwiegenden Fehlern führen konnten, wurden in Ausnahmen umgewandelt. 🎜🎜Der Rest der Erweiterung wird später gelesen🎜

Das obige ist der detaillierte Inhalt vonEinführung neuer Funktionen von PHP7.3 bis PHP7.4. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen