Beta testovanie PHP 8 sa začalo

Predloženej prvé beta vydanie novej vetvy programovacieho jazyka PHP 8. Vydanie je naplánované na 26. novembra. Súčasne opravné vydania PHP 7.4.9, 7.3.21 a
7.2.33, ktorý eliminoval nahromadené chyby a zraniteľnosti.

Hlavné inovácie 8 PHP:

  • zahrnutie JIT kompilátor, ktorých používanie zlepší produktivitu.
  • Podpora argumenty pomenovanej funkcie, ktoré vám umožňujú prenášať hodnoty do funkcie vo vzťahu k menám, t.j. Argumenty môžete odovzdať v ľubovoľnom poradí a definovať voliteľné argumenty. Napríklad "array_fill(start_index: 0, num: 100, value: 50)".
  • Pri volaní metód povolené pomocou operátora „?“, ktorý vám umožňuje iniciovať hovor iba vtedy, ak je prítomná metóda, čím sa vyhnete zbytočným kontrolám vrátenia hodnoty „null“. Napríklad "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • Podpora odborové typy, definujúce kolekcie dvoch alebo viacerých typov (napríklad „verejná funkcia foo(Foo|Bar $input): int|float;“).
  • Podpora atribúty (anotácie), ktoré vám umožňujú viazať metadáta (napríklad informácie o type) na triedy bez použitia syntaxe Docblock.
  • Podpora výrazov zápas, ktorý na rozdiel od prepínača dokáže vracať hodnoty, podporuje kombinovanie podmienok, používa prísne porovnávanie typov a nevyžaduje špecifikáciu „break“.

    $vysledok = zhoda($vstup) {
    0 => "ahoj",
    '1', '2', '3' => "svet",
    };

  • Skrátená syntax definície tried, ktoré vám umožňujú kombinovať definíciu konštruktora a vlastností.
  • Nový typ vrátenia - statický.
  • Nový typ - zmiešaný, ktorý možno použiť na určenie, či funkcia prijíma parametre rôznych typov.
  • vyjadrenie hod zvládnuť výnimky.
  • WeakMap vytvárať objekty, ktoré je možné obetovať počas zberu odpadu (napríklad na ukladanie nepotrebných skrýš).
  • Príležitosť pomocou výrazu „::class“ pre objekty (analogicky k volaniu get_class()).
  • Príležitosť definície v bloku catch výnimiek, ktoré nie sú viazané na premenné.
  • Príležitosť ponechaním čiarky za posledným prvkom v zozname parametrov funkcií.
  • Nové rozhranie Navliekacie na identifikáciu všetkých typov reťazcov alebo údajov, ktoré možno konvertovať na reťazec (pre ktorý je dostupná metóda __toString()).
  • Nová funkcia str_contains(), zjednodušený analóg strpos na určenie výskytu podreťazca, ako aj funkcie str_starts_with() a str_ends_with() na kontrolu zhody na začiatku a na konci reťazca.
  • Pridaná funkcia fdiv(), ktorý vykoná operáciu delenia bez vyhodenia chyby pri delení nulou.
  • Zmenené logika spájania reťazcov. Napríklad výraz „echo „súčet:“ . $a + $b' bolo predtým interpretované ako 'echo ("sum: " . $a) + $b' av PHP 8 sa bude považovať za "echo "sum: " . ($a + $b)“.
  • Dotiahnuté pri kontrole aritmetických a bitových operácií, napríklad výrazov "[] % [42]" a "$object + 4" dôjde k chybe.
  • Implementovaná stabilný triediaci algoritmus, v ktorom sa zachováva poradie identických hodnôt v rôznych cykloch.
  • Zdroj: opennet.ru

Pridať komentár