Rumah > Artikel > pembangunan bahagian belakang > Ralat Pass-by-Rujukan Masa Panggilan dalam PHP: Betulkan Mudah atau Tulis Semula Kod Lengkap?
Ralat Rujukan Laluan Masa Panggilan: Selesaikan Mudah atau Tulis Semula Kod Warisan?
Pembangun PHP mungkin menghadapi "Masa Panggilan ralat pass-by-reference telah dialih keluar", terutamanya dalam kod warisan yang mana pembolehubah dihantar ke fungsi sebagai rujukan. Amaran penamatan ini, yang diperkenalkan dalam PHP 5.3, menunjukkan bahawa penggunaan masa panggilan simbol & untuk lulus melalui rujukan sudah lapuk.
Mudah Betulkan atau Tulis Semula?
Malangnya, tiada penyelesaian mudah untuk isu ini. Amalan yang ditamatkan melibatkan penggunaan tanda rujukan (&) dalam panggilan fungsi, yang tidak betul. Menurut dokumentasi PHP, tanda rujukan tergolong dalam definisi fungsi, bukan dalam panggilan itu sendiri.
Penyelesaian Disyorkan: Tulis Semula Kod
Untuk menyelesaikan isu ini, adalah dinasihatkan untuk menulis semula kod yang terjejas. Memandangkan PHP telah mengeluarkan amaran penamatan untuk amalan ini sejak versi 5.3, adalah lebih baik untuk mengemas kini kod untuk mematuhi pendekatan yang disyorkan.
Contoh
Penggunaan yang betul:
function myFunc(&$arg) { } myFunc($var);
Salah penggunaan:
function myFunc($arg) { } myFunc(&$arg);
Kesimpulan
Walaupun kelihatan sukar untuk menulis semula kod warisan, adalah penting untuk menangani ralat penamatan ini untuk memastikan keserasian dengan versi semasa dan akan datang PHP. Dengan mengemas kini kod untuk menggunakan sintaks yang betul, pembangun boleh menghalang kemungkinan ralat dan mengekalkan pengalaman pengekodan yang lancar.
Atas ialah kandungan terperinci Ralat Pass-by-Rujukan Masa Panggilan dalam PHP: Betulkan Mudah atau Tulis Semula Kod Lengkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!