PHP - выход или возврат, который лучше?
Я хотел бы узнать в следующем случае, который является лучшим вариантом:
В PHP script, если переменная $fileSize
больше 100, я останавливаю script;
Случай I:
<?php
if ( $fileSize > 100 )
{
$results['msg'] = 'fileSize is too big!';
echo json_encode( $results );
exit();
}
Случай II:
<?php
if ( $fileSize > 100 )
{
$results['msg'] = 'fileSize is too big!';
exit( json_encode( $results ) );
}
Случай III:
<?php
if ( $fileSize > 100 )
{
$results['msg'] = 'fileSize is too big!';
return( json_encode( $results ) );
}
Какая из трех (3) опций выше лучше?
Ответы
Ответ 1
Поскольку вы используете exit
и return
в глобальной области (не внутри функции), тогда поведение почти одинаковое.
Разница в этом случае появится, если ваш файл вызывается через include()
или require()
. exit
завершит выполнение программы, а return
вернет управление вызывающему script (где был вызван include
или require
).
Ответ 2
Я хотел бы пойти с методом return()
, чтобы другие скрипты могли продолжать выполняться. Таким образом, если вы когда-либо используете другой script для вызова этого, он может выполнять обработку ошибок, чтобы иметь дело с случаем, когда файл слишком велик, а не всегда останавливать выполнение.
Ответ 3
Выход завершает программу, например die(). manual
Ответ 4
Это зависит... если ваш script предназначен только для вывода сообщения, и вы не хотите, чтобы script что-то делал после этого, функция exit() будет работать. В противном случае используйте return.