Sejak PHP 8.0, amaran penamatan mungkin muncul apabila menggunakan fungsi dengan corak pengisytiharan berikut:
function test_function(int $var1 = 2, int $var2) { // ... }
Mesej ralat ini dicetuskan apabila parameter yang diperlukan ($var2 dalam contoh ini) mengikut parameter pilihan ($var1).
Secara sejarah, sintaks ini telah cacat kerana ia memerlukan semua parameter (sehingga yang terakhir diperlukan) untuk dinyatakan dalam panggilan fungsi, walaupun jika mereka mempunyai nilai lalai. Selain itu, ia menghalang penggunaan kelas ReflectionFunctionAbstract untuk analisis fungsi.
Untuk menghapuskan amaran penamatan, laraskan pengisytiharan fungsi untuk mengalih keluar nilai lalai bagi parameter terdahulu. Memandangkan parameter ini sentiasa diperlukan, kefungsiannya tidak boleh terjejas.
function test_function(int $var1, int $var2) { // ... }
Atas ialah kandungan terperinci Mengapa Parameter yang Diperlukan Selepas Parameter Pilihan Menyebabkan Amaran Penamatan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!