Memanggil exit() selepas Lokasi: pengepala dalam PHP
Persoalan timbul sama ada untuk memanggil exit() atau tidak selepas menggunakan Lokasi: fungsi pengepala dalam PHP. Fungsi ini penting untuk mengubah hala pengguna ke URL yang ditentukan.
Pertimbangkan coretan kod berikut daripada failA:
$urlFailToGoTo = '/formerror.php'; if (sth) { header(sprintf("Location: %s", $urlFailToGoTo)); exit(); // Should I call exit() here? or return? }
Kod melaksanakan pernyataan bersyarat yang mengubah hala pengguna ke $urlFailToGoTo jika a syarat tertentu dipenuhi. Fungsi pengepala digunakan untuk menghantar pengepala HTTP ke penyemak imbas klien, memaklumkan lokasi baharu untuk dinavigasi. Walau bagaimanapun, memanggil header() sahaja tidak menamatkan pelaksanaan skrip.
Adalah penting untuk mengikuti panggilan header() dengan fungsi exit(), kerana ia segera menghentikan pelaksanaan skrip dan menghalang sebarang kod selanjutnya daripada sedang dilaksanakan. Ini memastikan bahawa pengepala, dan oleh itu ubah hala, dihantar kepada klien tanpa gangguan daripada kod berikutnya. Mengabaikan memanggil exit() boleh menyebabkan kod PHP tambahan dilaksanakan, berpotensi mengganggu atau mengatasi ubah hala.
Oleh itu, adalah disyorkan untuk memanggil exit() secara eksplisit selepas menggunakan header() untuk mengubah hala pengguna. Amalan ini memastikan bahawa skrip ditamatkan selepas ubah hala, mencegah akibat yang tidak dijangka dan mengekalkan kawalan ke atas pengalaman menyemak imbas pengguna.
Atas ialah kandungan terperinci Patutkah saya Panggil exit() Selepas Menggunakan header() untuk Redirection dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!