Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHP 8.0 Membuang 'Parameter Diperlukan $xxx Mengikuti Parameter Pilihan $yyy'?

Mengapa PHP 8.0 Membuang 'Parameter Diperlukan $xxx Mengikuti Parameter Pilihan $yyy'?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 07:39:13557semak imbas

Why Does PHP 8.0 Throw

Ralat PHP: "Parameter Diperlukan $xxx Mengikuti Parameter Pilihan $yyy"

Apabila menaik taraf kepada PHP 8.0, pembangun mungkin menghadapi ralat penamatan menyatakan bahawa parameter yang diperlukan mengikut parameter pilihan. Ralat ini timbul daripada penggunaan nilai lalai yang salah untuk parameter fungsi yang diperlukan.

Penerangan Masalah:

Sebelum ini, dalam versi PHP sebelum 8.0, fungsi boleh diisytiharkan dengan campuran parameter yang diperlukan dan pilihan dengan memberikan nilai lalai kepada parameter yang diperlukan. Walau bagaimanapun, amalan ini telah ditamatkan kerana kelemahan yang wujud.

Sebagai contoh, pertimbangkan kod PHP berikut:

function test_function(int $var1 = 2, int $var2) {
    return $var1 / $var2;
}

Dalam kod ini, $var1 ialah parameter yang diperlukan dengan lalai nilai 2. $var2 juga merupakan parameter yang diperlukan tanpa nilai lalai. Kod ini akan berfungsi dengan betul dalam versi PHP yang lebih awal tetapi mencetuskan ralat penamatan dalam PHP 8.0.

Keperluan Baharu:

Dalam PHP 8.0 dan yang lebih baru, kini diperlukan bahawa parameter yang diperlukan diisytiharkan sebelum parameter pilihan. Perubahan ini memastikan semua parameter yang diperlukan disediakan semasa memanggil fungsi, menghapuskan potensi sumber kekeliruan dan ralat.

Penyelesaian:

Untuk menyelesaikan ralat, cuma alih keluar nilai lalai daripada parameter yang diperlukan sebelum ini. Kod tersebut hendaklah ditulis semula seperti berikut:

function test_function(int $var1, int $var2) {
    return $var1 / $var2;
}

Dengan membuat perubahan ini, fungsi mematuhi keperluan PHP baharu dan tidak lagi akan mencetuskan ralat penamatan.

Atas ialah kandungan terperinci Mengapa PHP 8.0 Membuang 'Parameter Diperlukan $xxx Mengikuti Parameter Pilihan $yyy'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn