PHP 8.3 memasuki versi Alpha 1 dan ini adalah perubahan yang dicadangkan

php

PHP ialah bahasa pengaturcaraan yang membenarkan pembangunan web atau aplikasi web dinamik.

Beberapa hari yang lalu berita telah dikeluarkan bahawa versi alpha pertama cabang baru bahasa pengaturcaraan PHP 8.3 Peningkatan yang dirancang telah didedahkan, seperti fungsi json_validate() baharu, serta tambahan kepada kelas Randomizer yang baru ditambah, pengesanan limpahan tindanan dan banyak lagi.

Bagi anda yang tidak mengetahui PHP (akronim rekursif PHP: Hypertext Preprocessor), izinkan saya memberitahu anda bahawa ia adalah bahasa pengaturcaraan yang popular, sumber terbuka, ditafsirkan bahagian pelayan dan tujuan umum yang amat sesuai untuk pembangunan web. , kerana ia boleh dibenamkan dalam HTML.

Apakah inovasi utama yang diperkenalkan oleh PHP 8.3?

Dengan keluaran versi ini PHP 8.3 untuk ujian Alpha 1 Antara ciri yang dirancang untuk pelaksanaannya, contohnya, json_validate() berfungsi untuk menyemak dengan cepat sama ada rentetan dalam format JSON tanpa melakukan operasi penyahkodan, kerana sebelum ini rentetan JSON terdiri daripada format data yang ditentukan dan jika anda memerlukan pengesahan rentetan JSON, anda memerlukan fungsi tersebut json_decode().

Satu lagi perubahan yang menonjol ialah penambahbaikan dalam pengendalian ralat, serta dalam pengesanan limpahan tindanan dengan keduanya arahan baharu zend.max_allowed_stack_size dan zend.reserved_stack_size yang telah ditambahkan pada fail ini untuk menentukan saiz timbunan maksimum yang dibenarkan dan terpelihara. Disebutkan bahawa faedah ciri ini ialah ralat pembahagian yang disebabkan oleh limpahan tindanan tidak lagi akan menghasilkan ralat pembahagian, yang menjadikan penyahpepijatan lebih mudah.

Mengenai operasi, disebutkan bahawa program akan ranap apabila ia menghampiri keletihan timbunan, apabila timbunan mengisi lebih daripada perbezaan antara nilai zend.max_allowed_stack_size dan zend.reserved_stack_size (Pelaksanaan akan berhenti tanpa membawa situasi kepada kesalahan pembahagian.) Secara lalai, nilai bagi zend.max_allowed_stack_size ditetapkan kepada 0 (0: saiz ditentukan secara automatik, anda boleh menetapkan -1 untuk melumpuhkan had).

Di samping itu, ia juga ditonjolkan bahawaKaedah baharu telah ditambahkan pada kelas Randomizer, yang menyediakan API peringkat tinggi untuk menjana nombor dan jujukan pseudorandom. dalam kemas kini ini Beberapa tambahan kecil disepadukan: getBytesFromString untuk menghasilkan rentetan saiz tertentu menggunakan aksara rawak yang terdapat dalam rentetan lain; getFloat dan nextFloat untuk menjana nombor titik terapung rawak dalam julat yang ditetapkan.

Ia juga menyerlahkan tarikh/masa penambahbaikan pengendalian, memandangkan sebelum ini PHP hanya terhad kepada mengeluarkan amaran atau ralat apabila berlaku kesilapan dalam pengendalian tarikh dan masa, tetapi sekarang, menambah penjanaan pengecualian berasingan DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError sekiranya terdapat masalah dalam operasi tarikh dan masa.

Daripada perubahan yang lain yang menonjol:

  • Menambah keupayaan untuk mengekstrak pemalar menggunakan sintaks kelas dinamik.
  • fungsi telah ditambah getBytesFromString() boleh digunakan untuk menjana rentetan panjang yang dikehendaki daripada bait rentetan yang dipilih secara rawak
  • Pengendalian ralat yang lebih baik yang berlaku semasa menghuraikan data bersiri dalam fungsi unserialize(). Dalam kes masalah, unserialize() kini akan kembali E_AMARAN sebaliknya E_NOTIS.
  • Telah ditambah getfloat() yang mengembalikan apungan antara $min y $maks
  • fungsi telah ditambah nextfloat().
  • Menambah fungsi POSIX baharu posix_sysconf(), posix_pathconf(), posix_fpathconf(), dan posix_eaccess().
  • Apabila menggunakan FFI, fungsi C yang mempunyai jenis pengembalian void kini mengembalikan null dan bukannya mengembalikan FFI\CData:void
    posix_getrlimit() kini mengambil parameter $res pilihan untuk membolehkan mendapatkan had sumber tunggal.
  • gc_status() mempunyai empat bidang baharu: berjalan, dilindungi, saiz_penampan sepenuhnya.
  • class_alias() kini menyokong mencipta alias bagi kelas dalaman.
  • mysqli_poll() kini menimbulkan ValueError apabila argumen baca atau ralat diluluskan.
  • array_pad() kini anda hanya dihadkan oleh bilangan maksimum elemen yang boleh dimiliki oleh tatasusunan. Sebelum ini, hanya boleh menambah maksimum 1048576 item pada satu masa.
  • Fungsi baru posix: posix_sysconf(), posix_pathconf(), posix_fpathconf() dan posix_eaccess()
  • jangka proc_get_status() beberapa kali kini akan sentiasa mengembalikan nilai yang betul pada sistem posix.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak perinciannya Dalam pautan berikut.

Perlu dinyatakan bahawa keluaran versi stabil PHP 8.3 dijadualkan pada 23 November.