Akhirnya PHP8.1 keluar! ! ! Lihat pengumuman PHP rasmi untuk butiran: https://www.php.net/releases/8.1/en.php
PHP 8.1.0 kini tersedia Dikeluarkan, versi ini membawa banyak penambahbaikan dan ciri baharu.
Enum
Gunakan enum dan bukannya set pemalar dan sahkan serta-merta.
Sifat baca sahaja
Sifat baca sahaja tidak boleh ditukar selepas pemulaan, iaitu selepas ia diberikan nilai. Ia boleh digunakan untuk memodelkan objek nilai dan objek pemindahan data.
Sintaks boleh panggil kelas pertama
kini boleh mendapatkan rujukan kepada mana-mana fungsi.
Pemula baharu
objek kini boleh digunakan sebagai nilai parameter lalai, pembolehubah statik dan pemalar global serta parameter sifat, Ini berkesan memungkinkan untuk menggunakan sifat bersarang.
Jenis persimpangan tulen
Gunakan jenis persimpangan apabila nilai perlu memenuhi beberapa kekangan jenis pada masa yang sama. Ambil perhatian bahawa pada masa ini tidak mungkin untuk mencampurkan jenis persimpangan dan kesatuan, seperti A&B|C.
Jangan sekali-kali mengembalikan jenis
Fungsi atau kaedah yang diisytiharkan menggunakan jenis tidak pernah bermakna ia tidak akan mengembalikan nilai dan akan membuang pengecualian Atau tamatkan pelaksanaan skrip dengan memanggil die(), exit(), trigger_error() atau seumpamanya.
Pemalar Kelas Akhir
Pemalar kelas akhir boleh diisytiharkan untuk mengelakkannya daripada ditimpa dalam subkelas.
Perwakilan nombor perlapanan eksplisit
Nombor perlapanan kini boleh ditulis menggunakan awalan 0o eksplisit.
Serat
Serat adalah primitif untuk melaksanakan konkurensi koperasi ringan. Ia adalah cara untuk mencipta blok kod yang boleh dijeda dan disambung semula seperti penjana, tetapi dari mana-mana sahaja dalam timbunan. Fiber sendiri tidak menyediakan konkurensi, gelung acara masih diperlukan. Walau bagaimanapun, mereka membenarkan perkongsian API yang sama melalui pelaksanaan menyekat dan tidak menyekat. Gentian membenarkan untuk menyingkirkan kod boilerplate yang sebelum ini dilihat dalam Promise::then() atau coroutine berasaskan penjana. Perpustakaan sering membina abstraksi lanjut di sekitar Fiber jadi tidak perlu berinteraksi dengan mereka secara langsung.
Sokongan pembongkaran tatasusunan untuk tatasusunan berkunci rentetan
PHP sebelum ini menyokong pembongkaran dalam tatasusunan melalui operator hamparan , tetapi hanya jika tatasusunan mempunyai kunci integer. Tatasusunan kini boleh juga dibongkar menggunakan kekunci rentetan.
Pengoptimuman Prestasi
PHP 8.1 juga mempunyai beberapa perubahan prestasi, termasuk:
Halaman belakang JIT untuk ARM64 (AArch64)
Caching warisan (mengelakkan kelas memaut semula pada setiap permintaan)
Penghuraian nama kelas pantas (mengelakkan huruf kecil dan carian hash)
penambahbaikan prestasi timelib dan ext/tarikh
Peningkatan iterator sistem fail SPL
Pengoptimuman siri/deserialisasi
Sesetengah pengoptimuman fungsi dalaman (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex( ))
Penambahbaikan dan pembetulan JIT