Beta Testen vu PHP 8 huet ugefaang

Agefouert déi éischt Beta Verëffentlechung vun der neier Branche vun der PHP 8 Programméiersprooch D'Verëffentlechung ass geplangt fir de 26. November. Zur selwechter Zäit, Korrekturverëffentlechunge vu PHP 7.4.9, 7.3.21 an
7.2.33, déi accumuléiert Feeler a Schwachstelle eliminéiert.

Haaptstrooss Innovatiounen PHP 8:

  • Dréit op JIT Compiler, de Gebrauch vun deem wäert d'Produktivitéit verbesseren.
  • Ënnerstëtzung genannt Funktiounsargumenter, wat Iech erlaabt Wäerter un d'Funktioun par rapport zu Nimm ze passéieren, d.h. Dir kënnt Argumenter an all Uerdnung weiderginn an fakultativ Argumenter definéieren. Zum Beispill, "array_fill(start_index: 0, num: 100, Wäert: 50)".
  • Beim Opruff Methoden erlaabt den "?" Bedreiwer benotzt, deen Iech erlaabt nëmmen en Uruff unzefänken wann d'Method präsent ass, wat onnéideg Kontrollen vermeit fir den "Null" Wäert zréckzekommen. Zum Beispill, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • Ënnerstëtzung Gewerkschaft Zorte, Sammlungen vun zwou oder méi Typen definéieren (zum Beispill "ëffentlech Funktioun foo(Foo|Bar $input): int|float;").
  • Ënnerstëtzung Attributer (Annotatiounen) déi Iech erlaben Metadaten (wéi Typinformatioun) u Klassen ze binden ouni Docblock Syntax ze benotzen.
  • Ausdrock Ënnerstëtzung Match spillen, déi, Géigesaz schalt, Wäerter zréck, Ënnerstëtzung kombinéieren Konditiounen, benotzen strikt Typ Vergläicher, a verlaangen net eng "Paus" Spezifizéierung.

    $resultat = match($input) {
    0 => "Moien",
    '1', '2', '3' => "Welt",
    };

  • Verkierzt Syntax Klass Definitiounen, erlaabt Iech d'Definitioun vun engem Konstruktor an Eegeschaften ze kombinéieren.
  • Neie Retour Typ - Statesch ass.
  • Neien Typ - gemëscht ginn, déi benotzt ka ginn fir ze bestëmmen ob eng Funktioun Parametere vu verschiddenen Typen acceptéiert.
  • Ausdrock ze geheien Ausnahmen ze handhaben.
  • WeakMap fir Objeten ze kreéieren déi während der Müllsammlung geaffert kënne ginn (zum Beispill fir onnéideg Cache ze späicheren).
  • Geleeënheet benotzt den Ausdrock "::class" fir Objeten (analog zum Opruff get_class ()).
  • Geleeënheet Definitiounen am Fangblock vun Ausnahmen déi net un Variablen gebonnen sinn.
  • Geleeënheet e Komma hannert dem leschten Element an der Lëscht vun de Funktiounsparameter hannerloossen.
  • Neien Interface Stringable fir all Stringtypen oder Daten z'identifizéieren déi an eng String ëmgewandelt kënne ginn (fir déi d'Method __toString () verfügbar ass).
  • Nei Feature str_contains(), e vereinfachte Analog vu strpos fir d'Optriede vun enger Substring ze bestëmmen, souwéi d'Funktiounen str_starts_with() an str_ends_with() fir d'Matcher um Ufank an Enn vun enger String ze kontrolléieren.
  • Zousätzlech Funktioun fdiv(), déi eng Divisiounsoperatioun ausféiert ouni e Feeler ze werfen wann se mat Null deelen.
  • Geännert String verbonne Logik. Zum Beispill, den Ausdrock 'Echo "sum:" . $a + $b' gouf virdru als 'Echo ("Zomm: " . $a) + $b' interpretéiert, an am PHP 8 gëtt als 'Echo "sum: " behandelt. ($a + $b)'.
  • Gestrach iwwerpréift arithmetesch a Bit Operatiounen, zum Beispill, d'Ausdréck "[] % [42]" an "$Objet + 4" wäert zu engem Feeler Resultat.
  • Ëmgesat e stabile Sortimentalgorithmus an deem d'Uerdnung vun identesche Wäerter iwwer verschidde Runen erhale bleift.
  • Source: opennet.ru

Setzt e Commentaire