Rumah > pembangunan bahagian belakang > tutorial php > Patutkah Saya Gunakan `exit()` atau `return` Selepas PHP `header()` Ubah hala?

Patutkah Saya Gunakan `exit()` atau `return` Selepas PHP `header()` Ubah hala?

Susan Sarandon
Lepaskan: 2025-01-01 10:26:12
asal
159 orang telah melayarinya

Should I Use `exit()` or `return` After a PHP `header()` Redirect?

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?
}
?>
Salin selepas log masuk

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:

  • Penamatan Serta-merta: exit() serta-merta menghentikan pelaksanaan skrip, tanpa mengira konteks skrip semasa (seperti berada di dalam fungsi atau gelung).
  • Kosongkan Niat Kod: Menggunakan exit() secara eksplisit menandakan niat untuk menamatkan skrip pelaksanaan selepas pengalihan.
  • Mengelakkan Gelagat Tidak Dijangka: Meneruskan pelaksanaan skrip selepas header() boleh membawa kepada output atau ralat yang tidak diingini.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan