Zusammenfassung der neuen Funktionen von PHP7.4

silencement
Freigeben: 2023-04-08 10:36:01
nach vorne
3903 Leute haben es durchsucht

Zusammenfassung der neuen Funktionen von PHP7.4

Neue Funktionen von PHP7.4

PHP7.4 wurde veröffentlicht. Hat einige neue Funktionen gebracht. Dadurch können wir weniger Code schreiben.

1. Qualifizierten Typ zu Attributen hinzufügen

<?php
class User {
  public int $age;
  public string $name
}  
$user = new User();
$user->age = 10;
$user->name = "张三";
//error
$user->age = "zhang";//需要传递int
Nach dem Login kopieren

2. Pfeilfunktion

Diese Funktion bezieht sich im Wesentlichen auf die Syntax von ES6 in Js . Dadurch können wir weniger Code schreiben. Wenn Ihr Code die Funktion fn hat. Kann in Konflikt geraten

<?php
$factor = 10;
$nums = array_map(fn($n)=>$n * $factor,[1,2,3]);//[10,20,30]
//之前的写法
$nums = array_map(function($num)use($factor){
  return $num * $factor;
},[1,2,3])
Nach dem Login kopieren

3. Begrenzte Rückgabetyp-Kovarianz und Parametertyp-Kontravarianz

Vollständige Kovarianz-/Kontravarianzunterstü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.

<?php
class A {}
class B extends A {}
class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}
?>
Nach dem Login kopieren

4. Array-Entpacken

Verwenden Sie den Spread-Operator..., um das Array zu entpacken. Diese Funktion sollte von js übernommen werden. Siehe Beispiel

<?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;];
//老的写法
$fruits = array_merge([&#39;banana&#39;, &#39;orange&#39;],$parts,[&#39;watermelon&#39;]);
Nach dem Login kopieren

5. Null-Koaleszenzoperatorzuweisung

<?php
$array[&#39;key&#39;] ??= computeDefault();
// 老的写法
if (!isset($array[&#39;key&#39;])) {
    $array[&#39;key&#39;] = computeDefault();
}
?>
Nach dem Login kopieren

6. Numerisches Literaltrennzeichen

Zahlenliterale können Unterstriche zwischen Zahlen enthalten.

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

Auslösen von Ausnahmen von __toString() zulassen

In der Vergangenheit führte dies zu einem schwerwiegenden Fehler, der bei der String-Konvertierung behoben werden konnte Schwerwiegende Fehler wurden in Fehlerausnahmen umgewandelt.

8. Filter

FILTER_VALIDATE_FLOAT hinzugefügt

<?php
  filter_var(1.00,FILTER_VALIDATE_FLOAT);
filter.filters.validate
Nach dem Login kopieren

9. strip_tags unterstützt Arrays

<?php
  strip_tags($str,[&#39;p&#39;,&#39;a&#39;,&#39;div&#39;]);
//老的写法
strip_tags($str,"<p><a><div>");
废弃的特性
1. 没有显式括号的嵌套三元运算符
<?php
1 ? 2 : 3 ? 4 : 5;   // deprecated
(1 ? 2 : 3) ? 4 : 5; // ok
1 ? 2 : (3 ? 4 : 5); // ok
?>
Nach dem Login kopieren

Während des Interviews, Endlich Ich muss mich nicht darum kümmern, Sie nach dem Ergebnis zu fragen. Tatsächlich schreibt in der Produktion nicht jeder so.

2. Zugriff in geschweiften Klammern auf den Array-Index

<?php
$arr = ["a"=>"111"];
$index = "a";
$arr{$index}//废弃
$arr[$index];
Nach dem Login kopieren

Um ehrlich zu sein, ist dies das erste Mal, dass ich das habe gesehen, und es ist verlassen, was darauf hinweist, dass niemand es auf diese Weise verwenden wird.

3. reelle und is_reale Zahlen

<?php
  $num = "";
  $a = (real) $num;//废弃
  $a = (float) $num;
Nach dem Login kopieren

4. Das Schlüsselwort parent wird in einer Klasse ohne übergeordnete Klasse verwendet.

Die Verwendung von parent in einer Klasse ohne übergeordnete Klasse wird durchgeführt Kompilierungsfehler verursachen.

<?php
  class Test{
  public function index() 
  {
    return parent::index();//编译错误
  }
}
Nach dem Login kopieren

5. Money_format-Funktion

money_format ist veraltet und wurde durch numberFormater ersetzt

6. Erweiterungen entfernt

1.Firebird/Interbase
2.Recode
3.WDDX
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung der neuen Funktionen von PHP7.4. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:www.liqingbo.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!