Parameter pilihan $xxx selepas $yyy diperlukan
P粉764836448
P粉764836448 2023-08-15 21:10:56
0
2
605
<p><br /></p> <pre class="brush:none;toolbar:false;">DITAMAT: Parameter yang diperlukan $xxx mengikut parameter pilihan $yyy... </pra> <p>Sejak menaik taraf kepada PHP 8.0, ralat ini dilemparkan apabila menjalankan kod berikut: </p> <pre class="brush:php;toolbar:false;">function test_function(int $var1 = 2, int $var2) { pulangkan $var1 / $var2; } </pra> <p>Dalam versi PHP yang lalu, ini tiada masalah. </p>
P粉764836448
P粉764836448

membalas semua(2)
P粉616383625

Parameter yang diperlukan tanpa nilai lalai hendaklah diletakkan dahulu.

function test_function(int $xxx, int $yyy = 2)
{
    return $xxx * $yyy;
}
P粉451614834

Cara pengisytiharan fungsi ini telah ditamatkan dalam PHP 8.0 . Tidak masuk akal untuk menulis fungsi seperti ini kerana semua hujah (sehingga hujah terakhir yang diperlukan) perlu dinyatakan semasa memanggil fungsi. Ini juga menimbulkan kekeliruan apabila masalah timbul apabila menggunakan ReflectionFunctionAbstract kelas untuk menganalisis fungsi dan kaedah.

Pemberhentian baharu hanya memastikan bahawa tandatangan fungsi mengikut andaian akal bahawa parameter yang diperlukan hendaklah sentiasa diisytiharkan sebelum parameter pilihan.

Fungsi harus ditulis semula untuk mengalih keluar nilai lalai parameter sebelumnya. Memandangkan fungsi tidak pernah dipanggil tanpa mengisytiharkan semua parameternya, ini tidak mempunyai kesan ke atas fungsinya.

function test_function(int $var1, int $var2) {
    return $var1 / $var2;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan