我在我的數據庫(親子)兩個用戶表。我想有一些功能來檢查用戶的存在,返回一個用戶列表等,但我也想爲用戶特定功能,如獲取名稱,獲取電子郵件的行動(呼籲對象上操作),重置密碼等我應該將我的數據庫模型分爲特定於對象和特定於表格的操作嗎?
目前,我有這樣的:
<?php
class User {
public $id;
public $email;
private $password;
public $accountType;
public function __construct(...) {
...
}
// ####### GLOBAL ####### (Static)
// Searches for user by email
public function findUser($email) {
...
}
// ####### GETTERS #######
public function getID() {
...
}
...
// ####### SETTERS #######
public function setID() {
...
}
}
我知道,在OOP我應該只讓全局函數靜態的,但我不知道這是我應該在PHP。
我會說,你是在完全錯誤的方式思考這個。你在談論兩個不同的問題(數據存儲/檢索和對問題域進行建模)。這些應該被視爲單獨的東西,因爲如果您以後決定使用一些陰天或NoSQL解決方案而不是傳統的DB,則可以相對容易地替換存儲層。其中一個最大的錯誤,PHP程序員做中混淆「模式」與「數據庫表」 – GordonM