【发布时间】:2012-01-16 12:29:19
【问题描述】:
先举个简单的例子:
function doReturnSomething()
{
// some logic
if ($resultFromLogic) {
return Default_Model_Something;
}
return false;
}
如您所见,此函数返回模型或 false。现在,让我们从其他地方调用这个函数:
$something = doReturnSomething();
不,我想使用 if 语句来检查变量 $something。比方说:
if (false !== $something) {}
或
if ($something instanceof Default_Model_Something) {}
或
...
是否有针对这种情况的“最佳实践”?检查 false 或使用实例。这种特殊方式有什么后果吗?
先谢谢了!
【问题讨论】:
-
不是直接回答这个问题,但我建议返回
null而不是布尔值,因为a)null相当于“无”,这似乎很适合这里,并且b) 可能存在返回值应该是布尔值的情况,然后您无法区分“无”false和“值”false