Ric*_*ral 7 php function return-value
例如:
// somefile.php
function doSomething() {
// do lots of code, whatever...
return $something;
}
// mainfile.php
include "somefile.php"
doSomething(); // ignored the return value, we don't need it here
Run Code Online (Sandbox Code Playgroud)
当PHP中的函数返回值但我们不关心它时会发生什么?这种行为有问题,还是我们总是得到变量,即使我们从未在函数范围之外使用它?PHP如何通过返回一个不在函数范围之外使用的值来管理它的资源?
Gum*_*mbo 13
返回值被丢弃.这样做没有错.即使没有显式的函数也会隐式return返回null:
function foo() {}
var_dump(foo()); // NULL
Run Code Online (Sandbox Code Playgroud)
对我来说,这一切都归结为一个简单的范例:
"一个功能应该做一件事.它应该做得很好.它应该只做它."
如果您有多个理由要求该功能可以做多.
从语言的角度来看,忽视返回值绝对没有问题.从干净的代码角度来看.
一个insert()函数应该在数据库中插入一条记录.不返回插入记录的id.你没有要求这个.
A setLatitude()应修改对象内部状态,不加载Timezone类,并计算纬度所在的时区,并将其写入数据库.(保存对象可以做到这一点).
如果你有两个理由来调用一个函数它有多个目的,那么从一个干净的代码的角度来看它就是:"太多了"
当然可以构建一些可以理解的案例但是作为一般的经验法则,忽略返回值可能是代码气味.