Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Parameter Fungsi PHP 8.0 Diperlukan Kini Diperlukan untuk Mendahului Parameter Pilihan?
Perubahan Sintaks Parameter Fungsi PHP 8.0: Parameter Diperlukan Mesti Mendahului Pilihan
PHP 8.0 memperkenalkan amaran penamatan apabila parameter fungsi yang diperlukan mengikuti parameter pilihan. Ralat ini berlaku kerana versi lama PHP membenarkan tingkah laku ini, yang tidak masuk akal kerana semua parameter sehingga yang terakhir diperlukan perlu ditentukan.
Contoh:
Pertimbangkan fungsi berikut:
function test_function(int $var1 = 2, int $var2) { return $var1 / $var2; }
Dalam PHP 8.0, fungsi ini akan membuang penamatan berikut amaran:
Deprecated: Required parameter $var2 follows optional parameter $var1 in...
Sebab Penamatan:
Perubahan ini memastikan tandatangan fungsi mematuhi andaian akal bahawa parameter yang diperlukan harus diisytiharkan sebelum yang pilihan. Ini menjelaskan tingkah laku fungsi dan memudahkan analisis menggunakan kelas ReflectionFunctionAbstract.
Penyelesaian:
Untuk menyelesaikan isu ini, cuma alih keluar nilai lalai daripada parameter terdahulu. Untuk contoh di atas, fungsi akan ditulis semula sebagai:
function test_function(int $var1, int $var2) { return $var1 / $var2; }
Perubahan ini tidak seharusnya menjejaskan kefungsian fungsi kerana ia tidak boleh dipanggil tanpa mengisytiharkan semua parameter.
Atas ialah kandungan terperinci Mengapakah Parameter Fungsi PHP 8.0 Diperlukan Kini Diperlukan untuk Mendahului Parameter Pilihan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!