Mengendalikan Penamatan Skrip selepas Pengalihan Pengepala
Dalam PHP, fungsi header() digunakan untuk menghantar pengepala HTTP kepada klien. Apabila digunakan untuk ubah hala, soalan biasa timbul: patutkah anda memanggil exit() atau kembali selepas memanggil header()?
Pertimbangkan senario berikut:
<?php $urlFailToGoTo = '/formerror.php'; if (sth) { header(sprintf("Location: %s", $urlFailToGoTo)); exit(); // Should I call exit() here? } ?>
Selepas menghantar pengepala ubah hala, pelaksanaan skrip diteruskan melainkan ditamatkan secara eksplisit. Untuk memastikan pengalihan segera, adalah disyorkan untuk memanggil exit() selepas header(). Ini menghalang pelaksanaan sebarang kod последующий yang berpotensi mengganggu ubah hala.
Mengapa exit() lebih Diutamakan
Sedangkan kedua-dua exit() dan return boleh menamatkan skrip pelaksanaan, exit() mempunyai beberapa kelebihan:
Oleh itu, amalan terbaik ialah untuk memanggil exit() serta-merta selepas memanggil header() untuk memastikan yang bersih dan segera ubah hala.
Atas ialah kandungan terperinci Patutkah Saya Gunakan `exit()` atau `return` Selepas PHP `header()` Ubah hala?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!