Когда я отображаю сообщение об ошибке в php, я обычно делаю это так,
if($query){ // Success code }else{ // Error message $error_msg = "An error occurred."; return false; }
и я $error_msg
переменную $error_msg
на интерфейсной странице html. Мне просто интересно, return false
ли это значение return false
после того, как переменная действительно что-то делает, или просто бессмысленно ее помещать?
Я пытаюсь оптимизировать свой код и просто хочу убедиться! Заранее большое спасибо!
Да, он сообщает функции прекратить выполнение и вернуть значение «false». Так оно и делает. Независимо от того, делает ли это что-то ПОЛЕЗНОЕ, зависит от вашего программирования.
Если у вас нет исполняемых строк после эха, и функция не обязана возвращать значение, то на самом деле ничего не будет полезно.
Если это делает более ясным читателям, что «это точка остановки / отказа». И однажды вы, возможно, захотите на самом деле поймать ловушку, если она сработает или провалится – поэтому оставить ее в ней становится понятным. Вы также можете расширить функцию, не задумываясь и нуждаться в ретро-подгонке возвратов – опять же, оставляя ее, облегчает ее.
Наоборот, есть также старый стиль программирования из C / Assembler дней, что у вас есть только одна запись и одна точка выхода для всех функций, которые помогут с сборкой мусора. Не требование с PHP, но этот стиль делает его приятным и аккуратным. В этом случае задайте возвращаемое значение (если необходимо) и верните его в конце.
Итак, пойдите, с которым подходит ваш стиль, но подумайте заранее. Сделать все нетронутым и минимальным (т. Е. Отказаться от линии, поскольку она вам не нужна) не всегда может быть лучшим подходом.
Точка возврата false заключается в том, что вы можете легко протестировать функцию, чтобы убедиться, что она сработала – без необходимости входить в какие-либо потенциальные сообщения об ошибках и т. П.
Функция, которая возвращает false для отказа, может использоваться следующим образом:
if(someFunction($var)) { do stuff for function working... } else { // function failed. Do other stuff. }
Также интуитивно понятно, что функция возвращает false, когда она терпит неудачу. Его можно использовать следующим образом:
$foo=someFunction($var); if($foo) { again, function has worked. }//... etc
В то время как та же функция, возвращающая функцию, не удалась, ее нельзя было использовать интуитивно.