Rumah >pembangunan bahagian belakang >tutorial php >Analisis ringkas terkini tentang ciri PHP, kernel dan seni bina pada tahun 2022

Analisis ringkas terkini tentang ciri PHP, kernel dan seni bina pada tahun 2022

藏色散人
藏色散人ke hadapan
2022-08-07 14:24:343057semak imbas

Ciri PHP8?

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.

Ciri baharu PHP7? (Perbezaan daripada PHP5)

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.

Mengapa prestasi php7 dipertingkatkan berbanding php5?

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

proses pelaksanaan PHP7?

Analisis ringkas terkini tentang ciri PHP, kernel dan seni bina pada tahun 2022

Analisis leksikal, memotong kod sumber kepada berbilang unit rentetan (Token)

Penganalisis sintaks menukar Token kepada Pokok tatabahasa abstrak AST

Pokok 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)

Apakah kitaran hayat PHP dalam mod web?

SAPI menjalankan PHP melalui peringkat berikut:

1 Peringkat permulaan modul (modul init):

Peringkat ini terutamanya menjalankan operasi pemulaan rangka kerja PHP dan zend. enjin . Peringkat ini biasanya dilaksanakan sekali apabila SAPI bermula. Untuk FPM, ia dilaksanakan apabila induk fpm bermula. PHP memuatkan kod setiap sambungan dan memanggil rutin permulaan modulnya (MINIT) untuk memohon beberapa pembolehubah yang diperlukan oleh modul, memperuntukkan memori, dsb.

2. Fasa permulaan permintaan (init permintaan):

Apabila permintaan halaman berlaku, ia adalah peringkat yang akan dialami sebelum permintaan diproses. Untuk fpm, ia adalah peringkat selepas proses pekerja menerima permintaan dan membaca serta menghuraikan data permintaan. Semasa peringkat ini, lapisan SAPI menyerahkan kawalan kepada lapisan PHP, dan PHP memulakan pembolehubah persekitaran yang diperlukan untuk melaksanakan skrip untuk permintaan ini.

3. Fasa pelaksanaan skrip PHP:

Penghuraian kod PHP dan proses pelaksanaan. Enjin Zend mengambil alih kawalan, menyusun kod skrip PHP menjadi opcode dan melaksanakannya secara berurutan

4. Minta penutupan:

Selepas permintaan diproses, ia memasuki fasa penutupan, PHP Pembersihan proses akan dimulakan. Pada peringkat ini, kandungan output akan disiram, kandungan respons http akan dihantar, dsb., dan kemudian ia akan memanggil kaedah RSHUTDOWN setiap modul dalam urutan. RSHUTDOWN digunakan untuk mengosongkan jadual simbol yang dijana semasa program berjalan, iaitu, untuk memanggil fungsi tidak ditetapkan pada setiap pembolehubah.

5. Penutupan modul:

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.)

Apakah seni bina php7?

Analisis ringkas terkini tentang ciri PHP, kernel dan seni bina pada tahun 2022

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 data PHP?

Pelaksanaan asas data PHP ialah jadual cincang (juga dipanggil jadual hash)

mekanisme pengumpulan sampah PHP?

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.

Apakah corak seni bina PHP-FPM? Bagaimanakah anda mengoptimumkannya?

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!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam