在PHP編碼過程中,我們經常寫到類似下面的語句:
1 | $var = isset($var) && !empty($var) ? $var : $defaultValue; |
語法看上去很冗長,所以建議簡寫成1個函數或者創建1個新的運算符||| :
1 | $var = judge($var,$defaultValue); |
2 | $var = $var ||| $defaultValue; // 非常類似javascript中的 | |
這個函數的定義爲:
1 | function judge($var,$defaultValue) { |
2 | return $var = isset($var) && !empty($var) ? $var : $defaultValue; |
3 | } |
這個函數使用的場合比較多,所以建議下面的實現方法:
- 單獨寫個普通函數,像上面那樣調用
- 寫到框架代碼中,使用時調用框架代碼
- 寫成 PHP 的 C 擴展,理想情況是加入到pear庫中,這樣效率還會高一點點
- 修改PHP Zend 引擎,將judge($var,$defaultValue) 變爲PHP的內建函數,或者增加上面說的|||運算符