Имеет ли значение, следует ли вызывать exit после заголовка («Location:»)?

Я не мог найти ответ, пока не нашел этот пост при exit на php.net.

После отправки заголовка «Location:» PHP продолжит синтаксический анализ, и весь код под вызовом header () все равно будет выполнен.

Действительно ли это?

И для продолжения этого вопроса, если это действительно так, в какую пользу он должен оставить exit (и пусть остальная часть кода работает)?

Solutions Collecting From Web of "Имеет ли значение, следует ли вызывать exit после заголовка («Location:»)?"

Да, это действительно так. Функция header () просто отправляет заголовок в браузер вместе с остальной частью вашей страницы, которая указывает браузеру перенаправлять. Если вы не хотите, чтобы скрипт продолжал работать, вы должны сделать exit или die .

Могут быть случаи, когда вы хотите, чтобы сценарий продолжал работать, хотя, в зависимости от сценария. Вы можете отслеживать удары по страницам или что-то еще, и вы можете вставить код в базу данных, содержащуюся внизу каждой страницы. Если вы хотите, чтобы он отслеживал попадание перед переадресацией, вы не хотели бы exit раньше.

Другим случаем, который вы, возможно, захотите продолжить использовать, является то, что у вас есть заголовок с перенаправлением по времени, и вы хотите отобразить что-то пользователю, например Redirect to: http://xxxxxx in 5 seconds . Таким образом, у них есть возможность увидеть, где их браузер работает до перенаправления. Вы, вероятно, только захотите сделать это, если бы вы перенаправляли их на совершенно другой сайт.

В большинстве случаев вы хотите exit потому что в этом случае вы вряд ли захотите вывести что-либо в браузер, а дополнительный код просто замедлит перенаправление.

Да, это действительно так, потому что заголовки отправляются с другим контентом. Сценарий выполняется и ПОСЛЕ того, что контент и заголовки отправляются пользователю.