我的User類中有一個靜態getUser($ userID)方法,它查詢數據庫併爲給定的用戶ID返回一個User對象。PHP類設計 - 獲取多個對象
有時,我有多個用戶需要同時獲得。我已經提出了兩種選擇:
- 創建一個getUsers()方法,它可以接受多個ID並執行一個查詢。
- 創建一個getUsers()方法,該方法可以接受多個ID,但使用getUser方法(多個DB查詢)。
在這兩種情況下,我都會返回一個User對象數組。但是,如果用戶ID有效或不存在,會發生什麼?只需從數組中排除該用戶?看起來很奇怪。
因此,這將是巨大的,得到答案:
- 我應該使用選項1或2?
- 發生無效用戶ID時會發生什麼情況,請忽略它?或拋出異常?
隨意批評靜態方法getUser()的用法,我不知道該放哪個方法,謝謝。
使用最上面的一個。減少dbms的開銷,減少查詢。底層會殺死性能,當它需要處理很多用戶時。 – BlitZ
因此,在沒有找到該用戶身份的情況下會發生什麼情況。返回一個空的用戶對象?或者只是從數組中排除? – paul
例如,使用MySQL'IN()'語句來過濾查詢。您可以構建只返回現有查詢的查詢。然後在php中檢查結果。如果有一些'id's,沒有關聯的記錄,那麼你可能會拋出異常,如果需要的話。 – BlitZ