Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membetulkan Ralat PHP 5.4 \'Rujukan Laluan Masa Panggilan telah dialih keluar\'?

Bagaimanakah Saya Boleh Membetulkan Ralat PHP 5.4 \'Rujukan Laluan Masa Panggilan telah dialih keluar\'?

Barbara Streisand
Barbara Streisandasal
2024-11-28 07:40:13311semak imbas

How Can I Fix the PHP 5.4

Membetulkan PHP 5.4 Isu Rujukan Laluan Masa Panggilan

Pengenalan PHP 5.4 menandakan penyingkiran pas masa panggilan- rujukan sampingan, mengakibatkan ralat "Rujukan pas-masa panggilan telah dialih keluar" yang digeruni. Ralat ini berlaku apabila pembolehubah dihantar ke dalam fungsi sebagai rujukan dalam kod warisan.

Mudah Betulkan atau Selesaikan Tulis Semula?

Tiada penyelesaian mudah untuk isu ini. Masalahnya berpunca daripada cara rujukan diisytiharkan dalam definisi fungsi, bukan panggilan fungsi. Dokumentasi PHP menyatakan bahawa "Tiada tanda rujukan pada panggilan fungsi - hanya pada definisi fungsi."

Tulis Semula Kod Legasi

Sejak PHP mula mengeluarkan ralat penamatan untuk panggilan -rujukan berlalu masa dalam versi 5.3, adalah sangat disyorkan untuk menulis semula kod warisan untuk mengelakkan potensi masalah keserasian dalam masa hadapan.

Contoh Tulis Semula

Daripada:

// Wrong way!
myFunc(&$arg); // Deprecated pass-by-reference argument
function myFunc($arg) { }

Gunakan:

// Right way!
myFunc($arg); // pass-by-value argument
function myFunc(&$arg) { }

Dengan mengisytiharkan rujukan dalam fungsi definisi, anda memastikan bahawa PHP akan lulus hujah dengan rujukan tanpa memerlukan sintaks yang tidak digunakan dalam fungsi panggilan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Ralat PHP 5.4 \'Rujukan Laluan Masa Panggilan telah dialih keluar\'?. 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