2012-11-22 86 views
0

我想提高的前提下斷言:提高斷言

function foo($bar) { 
    if($bar === null) { 
     return; 
    } 

    // do stuff 
} 

更好的解決方案是g_return_if_failg_return_val_if_fail C代碼宏。

assert似乎是一個很好的選擇,但執行流程沒有壞掉。沒有宏,解決方案將是:

function foo($bar) { 
    assert($bar === null) || return; 

    // do stuff 
} 

但解析器不喜歡這一點。你有其他想法嗎? (首選PHP版本:5.3)。

回答

0
if (!assert($bar === null)) { 
    return; 
} 
+0

這是一個語法修復,但不容易閱讀:負面條件和多行。 – Sanpi