Pengujian beta PHP 8 wis diwiwiti

Dipuntepangaken rilis beta pisanan saka cabang anyar basa pamrograman PHP 8. Rilis kasebut dijadwalake tanggal 26 November. Ing wektu sing padha, rilis korektif PHP 7.4.9, 7.3.21 lan
7.2.33, sing ngilangi kesalahan akumulasi lan kerentanan.

Utama inovasi PHP 8:

  • Nggawe JIT compiler, panggunaan sing bakal nambah produktivitas.
  • support argumen fungsi sing dijenengi, ngidini sampeyan ngirim nilai menyang fungsi sing ana hubungane karo jeneng, i.e. Sampeyan bisa ngirim argumen ing urutan apa wae lan nemtokake argumen opsional. Contone, "array_fill(start_index: 0, num: 100, value: 50)".
  • Nalika nelpon cara diijini nggunakake operator "?", sing ngijini sampeyan kanggo miwiti telpon mung yen cara saiki, sing ngindhari pamriksan sing ora perlu kanggo ngasilake nilai "null". Contone, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • support jinis union, nemtokake koleksi saka loro utawa luwih jinis (contone, "fungsi umum foo (Foo|Bar $ input): int|float;").
  • support atribut (anotasi) sing ngidini sampeyan ngiket metadata (kayata jinis informasi) menyang kelas tanpa nggunakake sintaks Docblock.
  • Dhukungan ekspresi match, sing, ora kaya ngalih, bisa ngasilake nilai, ndhukung kondisi gabungan, nggunakake perbandingan jinis sing ketat, lan ora mbutuhake spesifikasi "break".

    $hasil = cocog($input) {
    0 => "halo",
    '1', '2', '3' => "donya",
    };

  • Sintaks sing disingkat definisi kelas, ngijini sampeyan kanggo gabungke definisi konstruktor lan sifat.
  • Tipe bali anyar - Statis.
  • Tipe anyar - campuran, sing bisa digunakake kanggo nemtokake apa fungsi nampa paramΓ¨ter saka macem-macem jinis.
  • Babagan uncalan kanggo nangani istimΓ©wa.
  • WeakMap kanggo nggawe obyek sing bisa dikorbanake sajrone koleksi sampah (contone, kanggo nyimpen cache sing ora perlu).
  • Opportunity nggunakake expression ":: class" kanggo obyek (analog kanggo nelpon get_class ()).
  • Opportunity definisi ing blok nyekel pangecualian sing ora kaiket kanggo variabel.
  • Opportunity ninggalake koma sawise unsur pungkasan ing dhaptar parameter fungsi.
  • Antarmuka anyar Stringable kanggo ngenali sembarang jinis senar utawa data sing bisa diowahi kanggo senar (kang __toString () cara kasedhiya).
  • Fitur anyar str_contains(), analog strpos sing disederhanakake kanggo nemtokake kedadeyan substring, uga fungsi str_starts_with () lan str_ends_with () kanggo mriksa pertandhingan ing wiwitan lan pungkasan senar.
  • Fitur ditambahake fdiv(), sing nindakake operasi divisi tanpa mbuwang kesalahan nalika dibagi karo nul.
  • Diganti logika penggabungan string. Contone, ekspresi 'echo "sum:" . $a + $b' sadurunge diinterpretasikake minangka 'echo ("sum: ". $a) + $b', lan ing PHP 8 bakal dianggep minangka 'echo "sum: " . ($a + $b)'.
  • Kenceng mriksa operasi aritmetika lan bit, contone, ekspresi "[] % [42]" lan "$obyek + 4" bakal nyebabake kesalahan.
  • Dilaksanakake Algoritma ngurutake stabil ing ngendi urutan nilai sing padha disimpen ing macem-macem mlaku.
  • Source: opennet.ru

Add a comment