Что возвращает PHP die()
В PHP die()
дает что-нибудь взамен, когда мы используем это?
6 ответов
В PHP функция die() просто перестает запускать скрипт и выводит аргумент (если есть).
Очевидно, что die()
или его эквивалент exit()
не возвращайте ничего самому сценарию; чтобы быть точным, этот код не имеет особого смысла:
if (die())) {
echo 'are we dead yet?';
}
Однако, в зависимости от того, что вы передаете в качестве (необязательного) аргумента die()
или же exit()
, он действительно что-то возвращает вызывающей стороне, то есть команду, которая вызвала запуск вашего скрипта. Его практическое использование обычно ограничено cli
SAPI, хотя, когда вы вызываете скрипт из командной строки, используя php /path/to/script.php
,
Заметим:
die('goodbye cruel world');
Этот код будет печатать goodbye cruel world
а затем вернуть код состояния выхода 0
, сообщая вызывающей стороне, что процесс завершен нормально.
Другой пример:
die(1);
Когда вы передаете целочисленное значение вместо строки, ничего не печатается и код состояния выхода будет 1
, сообщая вызывающей стороне, что процесс не завершился нормально.
И, наконец, die()
без каких-либо аргументов так же, как die(0)
,
Состояние выхода процесса может быть изменено, чтобы сигнализировать о различного рода ошибках, которые могли произойти, например, 1
означает общую ошибку, 2
означает неверное имя пользователя и т. д.
Почему бы вам не взглянуть на замечательную документацию по PHP? Он даже содержит информацию о die()
Это так же, как exit() и согласно документации ничего не возвращает
Не возвращается. Сценарий завершен, и больше ничего не выполняется.
Нет причин возвращать что-то в die / exit. Эта функция завершает процесс интерпретатора php внутри и возвращает код выхода в оболочку. Поэтому после вызова die() выполнение скрипта не выполняется, поскольку нет процесса интерпретатора, который выполняет скрипт, и поэтому нет способа обработать возврат функции.