Rumah >pembangunan bahagian belakang >tutorial php >Analisis ringkas terkini tentang ciri PHP, kernel dan seni bina pada tahun 2022
1. Pengkompil tepat dalam masa. Berdasarkan pengoptimuman opcache, jit mengoptimumkan sekali lagi digabungkan dengan maklumat masa jalan untuk menjana kod mesin secara langsung. JIT bukanlah pengganti untuk pengoptimuman opcache, tetapi peningkatan.
2. Ungkapan padanan, digunakan untuk penukaran nilai dan penetapan pembolehubah.
3.
menyokong perisytiharan dan menerima pelbagai jenis yang berbeza. Ia adalah koleksi dua atau lebih jenis.
4. Jenis pulangan statik. Sokongan untuk jenis pulangan statik dalam PHP 8 akan menjadi lebih cekap.
5. Pemetaan lemah WeakMap. Benarkan kunci dalam tatasusunan diletakkan ke dalam objek.
6. Perubahan dan penggunaan kelas
1 Pewarisan parameter boleh ubah (hambar), dibenarkan
2 mengikat (LSB) (berguna), berguna untuk enkapsulasi peringkat rangka kerja dan beberapa corak reka bentuk kilang.
3 Sekarang anda boleh menggunakan kaedah berikut untuk mendapatkan nama kelas objek
4 digunakan dengan sebarang ungkapan , gunakan new(expression)(... $args) dan $obj instanceof(expression).
5.
6. Tambah antara muka Boleh Bertali (fungsi umum, digunakan dalam pengkapsulan templat paparan).
7. Trait kini boleh mentakrifkan kaedah peribadi abstrak.
1. Pengisytiharan jenis skalar dan pengisytiharan jenis nilai pulangan.
2. Operator penggabungan nol (??)
3 Peningkatan penggunaan rujukan ruang nama: kelas, fungsi dan pemalar yang diimport dari ruang nama yang sama kini boleh diimport sekali gus melalui pernyataan penggunaan tunggal <.>
4 Kelas Tanpa Nama: Kini menyokong penggunaan kelas tanpa nama melalui kelas baharu 5. 6.
1. Bait storan berubah-ubah dikurangkan. Kurangkan penggunaan memori dan tingkatkan kelajuan operasi berubah 2. Perbaik struktur tatasusunan. Elemen tatasusunan dan jadual pemetaan cincang diperuntukkan dalam memori yang sama, yang mengurangkan penggunaan memori dan meningkatkan kadar hit cache CPU 3. Mekanisme panggilan fungsi yang dipertingkatkan. Dengan mengoptimumkan proses pemindahan parameter, beberapa arahan dikurangkan dan kecekapan pelaksanaan dipertingkatkan
Analisis leksikal, memotong kod sumber kepada berbilang unit rentetan (Token) Penganalisis sintaks menukar Token kepada Pokok tatabahasa abstrak ASTPokok sintaks abstrak ditukar kepada opcode (set arahan opcode)Mesin maya mentafsir dan melaksanakan opcode (opcode ialah set pengecam arahan yang sepadan dengan fungsi pemprosesan pengendali)
Fasa ini dilaksanakan apabila SAPI ditutup dan sepadan dengan fasa permulaan modul Fasa ini terutamanya membersihkan sumber dan menutup setiap modul PHP Pada masa yang sama, fungsi cangkuk penutupan modul setiap sambungan akan dipanggil semula. Ini berlaku selepas semua permintaan telah selesai, seperti menutup fpm. (Ini untuk SAPI seperti CGI dan CLI, tidak ada "permintaan seterusnya", jadi SAPI mula ditutup serta-merta.)
Enjin Zend: Enjin Zend menyediakan perkhidmatan asas untuk PHP, termasuk analisis leksikal dan analisis sintaks, pelaksanaan opcode kompilasi pokok sintaks abstrak AST, reka bentuk pembolehubah PHP, Pengurusan memori , pengurusan proses.
Lapisan PHP: Mengikat lapisan SAPI dan mengendalikan komunikasi dengannya Ia juga menyediakan lapisan kawalan yang konsisten untuk pengesanan safe_mode dan open_basedir, dan menyepadukan ruang pengguna seperti fopen(), fread() dan fwrite(. ) fungsi yang berkaitan dengan fail dan rangkaian I/O.
SAPI: Termasuk cli fpm, dsb., yang mengabstrak antara muka luaran Selagi protokol SAPI dipatuhi, pelayan boleh dilaksanakan.
Peluasan: enjin zend menyediakan keupayaan teras dan spesifikasi antara muka, atas dasar ini anda boleh membangun dan mengembangkan
Pelaksanaan asas data PHP ialah jadual cincang (juga dipanggil jadual hash)
PHP boleh mengurus memori secara automatik dan mengosongkan objek yang tidak diperlukan.
PHP menggunakan mekanisme GC pengiraan rujukan.
Setiap objek mengandungi kiraan semula kaunter rujukan Setiap rujukan disambungkan kepada objek dan pembilang ditambah dengan 1. Apabila rujukan meninggalkan ruang kediaman atau ditetapkan kepada NULL, kaunter dikurangkan sebanyak 1. Apabila kaunter rujukan objek mencapai sifar, PHP mengetahui bahawa anda tidak perlu lagi menggunakan objek dan melepaskan ruang memori yang didudukinya.
Ia ialah corak seni bina tuan dan pekerja Kerja mengendalikan permintaan, dan tuan mengurus dan mengitar semula proses kanak-kanak.
Untuk pengoptimuman, konfigurasi bilangan proses telah diubah.
Ringkasan ringkas: Oleh kerana mod statik yang dikonfigurasikan sebelum ini, bilangan lalai proses ialah 200. Kemudian, terdapat konkurensi tertentu, jadi saya harus menukarnya kepada mod konfigurasi "ketiga" dan mengkonfigurasi yang ditentukan bilangan proses, terdapat nilai minimum dan nilai maksimum (nilai maksimum sebenarnya dilupakan di sini, saya hanya fikir mesti tiada had, selepas semua, sumber perkakasan adalah siling), dan kemudian secara dinamik meningkatkan bilangan proses. berdasarkan bilangan sebenar permintaan.
Atas ialah kandungan terperinci Analisis ringkas terkini tentang ciri PHP, kernel dan seni bina pada tahun 2022. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!