Если функция использует: return null ;?

Должна ли функция возвращать значение null ?

Например

 function test() { return null; // vs return; } 

Является ли последнее плохой практикой или это не имеет значения?

PS

Будь то плохая практика, не должна быть субъективной ИМХО.

Related of "Если функция использует: return null ;?"

Если вы ничего не вернете, просто используйте return; или опустить его вообще в конце функции.
Если ваша функция обычно возвращает что-то, но по какой-то причине не return null; это путь.

Это похоже на то, как вы это делаете, например, на C: Если ваша функция не возвращает вещи, она void , в противном случае она часто возвращает либо действительный указатель, либо NULL.

Всегда хорошая практика, чтобы показать, что вы возвращаете.

Но в качестве подсказки все эквивалентны:

 function test() { return null; } function test() { return; } function test() { } 

Во всех случаях для var_dump(test()); будет:

 NULL 

Неопределенное возвращаемое значение функции в PHP всегда равно NULL , поэтому это не имеет никакого значения (время выполнения делает это).

Что имеет значение, так это то, что вы используете docblocks и документируете возвращаемое значение с тегом @return так что здесь есть информация об умном IDE.

Если вы хотите сигнализировать на док-блок, что не возвращается значение, вы можете использовать void :

  * @return void 

Если вы хотите сигнализировать о том, что возвращаемый NULL предназначен, вы можете использовать null или NULL (в зависимости от вашего стиля кода для стандартных констант PHP PHP):

  * @return null 

или:

  * @return NULL 

Это должно сделать видимость кодеров видимой, так как PHP это всегда будет null как фактическое возвращаемое значение.

Читай дальше:

Более подробная информация и обновленная информация находятся в ответе PeeHaa на этот же вопрос .

Просто глупо возвращать null если нечего возвращать. return; показывает, что на самом деле ничего не возвращает. И дает понять, что делает функция.

Тот факт, что PHP не имеет типа возвращаемого типа, не должен быть причиной, чтобы сделать намерение менее ясным. Также обратите внимание, что PHP 7.1 обеспечит поддержку типа возврата void :

 function test(): void { return null; // this will error } 

Семантически, я не думаю, что есть разница между ними. Согласно документации PHP по возврату :

Если параметр не задан, скобки должны быть опущены и NULL будет возвращен.

Мне лично нравится помещать туда NULL. Тогда нет никаких сомнений относительно того, что возвращается, что облегчает вашу отладку.

На странице «Лучшие практики PEAR» return null в примере «Возвращение раннего». Это повышает читаемость, которую мы всегда должны стараться делать, поскольку мы пишем код для людей, а не компьютеров.

источник: http://pear.php.net/manual/en/standards.bestpractices.php