Rujukan Laluan Masa Panggilan PHP 5.4: Penyelesaian Mudah Disahkan
Ralat PHP "Ralat maut: Pas masa panggilan -by-reference has been removed" timbul apabila pembolehubah diluluskan sebagai rujukan kepada fungsi, amalan yang kini ditamatkan dalam PHP 5.4. Ralat ini boleh berleluasa dalam kod warisan yang menggunakan rujukan secara meluas. Walaupun menulis semula keseluruhan pangkalan kod mungkin kelihatan menakutkan, pembetulan mudah wujud untuk menangani isu ini.
Bertentangan dengan kepercayaan popular, tanda rujukan harus disertakan dalam definisi fungsi, bukan panggilan fungsi. Dalam PHP 5.4, penggunaan "&" dalam panggilan fungsi ditamatkan dan mencetuskan mesej amaran. Untuk menyelesaikan masalah ini, nyatakan rujukan dalam definisi fungsi.
Panduan Dokumentasi PHP
Dokumentasi PHP menyatakan: "Tiada tanda rujukan pada panggilan fungsi - sahaja pada definisi fungsi." Ini bermakna definisi fungsi sahaja menetapkan tingkah laku rujukan lulus untuk hujah.
Penggunaan Betul:
Daripada menggunakan sintaks yang ditamatkan:
1 |
|
Gunakan sintaks berikut:
1 |
|
Dalam fungsi definisi:
1 |
|
Dengan mematuhi garis panduan ini, anda boleh membetulkan isu rujukan pas masa panggilan dan menghapuskan ralat yang berkaitan dalam kod anda dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Rujukan Laluan Masa Panggilan Telah Dialih Keluar' dalam PHP 5.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!