php函數設計的一點思考

關於函數設計,命名規範什麼的我就不說了。

就php而言,php是一門弱類型語言,不能直觀的看出參數和返回值類型。又是這會讓代碼閱讀者困惑。

比如

function GetMainClassifyFromDB()

{

............................................

}

對於這樣一個函數看不出什麼問題。

但是我們來討論兩種情況:

一種是函數中途某種操作執行失敗了,需要高速調用者返回false

另一種情況是操作成功需要返回結果,假設結果爲空。

對於前者false,對於後者什麼也沒有。


如果有以下代碼

$result = GetMainClassifyFromDB()
{

if(!$result)

{

錯誤處理代碼

}

}

顯然這段代碼是有問題的。

對返回值做類型判斷,又顯得很麻煩。


解決方案:

運行結果通過參數返回,函數返回值僅僅表示函數運行成功或者失敗。

這樣函數參數分爲兩類:輸入參數和輸出參數,輸出參數放在右邊即可。

比如:

function GetMainClassifyFromDB(&$result)

{

if(!ConnectDB())

{

return false;

}

.........

//將所有主分類放入$result中

.........

return true;

}

這樣子我們的代碼就很容易寫了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章