我想改进前置条件断言:
function foo($bar) {
if($bar === null) {
return;
}
// do stuff
}
更好的解决方案是g_return_if_fail和g_return_val_if_fail C 宏。
assert似乎是一个不错的选择,但执行流程并没有中断。如果没有宏,解决方案是:
function foo($bar) {
assert($bar === null) || return;
// do stuff
}
但是解析器不喜欢这个。你有其他想法吗?(首选 php 版本:5.3)。