所以我知道我可以在php7中做返回類型提示。我可以做一個對象返回提示:PHP返回類型提示,對象或布爾?
function getUser($pdo, $username) : User
{
}
其中用戶是被返回的對象。
然而,如果用戶沒有在SQL中發現,返回'false'
而不是用戶對象給出:
Uncaught TypeError: Return value of UserFind::findUser() must be an instance of User, boolean returned
但是,如果SQL無法找到用戶?如果用戶不存在,我該如何返回一個布爾值,假?我應該忽略這種情況下的返回類型暗示嗎?
編輯:我看着另一個問題,'在PHP 7可空返回類型',雖然我的問題幾乎相同,我想通過問是否會有一種方式來返回兩種類型。例如,如果對象不存在,則返回一個對象或字符串?
[在PHP7可空返回類型(的可能的複製http://stackoverflow.com/questions/33608821/nullable-return-types-in- php7) –
我總是發現這樣的問題很奇怪,因爲我的第一反應總是「使用例外」。然後我記得,例外情況與其他許多事情一樣,是PHP中所謂的「紅頭髮的繼子女」。 –
@ IgnacioVazquez-Abrams PHP通常採用另一種方法來處理異常。 Python例如幾乎所有東西都使用它們。 PHP不。一般而言,例外情況相當緩慢也無助於案例。 – bwoebi