使用MVC模式實現模型時,我的模型應該有多複雜?模型應該有多複雜?
比方說,我有幾張桌子,像這樣:
- 用戶(ID,密碼,創建...)
- 電子郵件(USER_ID,電子郵件......)
- 地址(USER_ID ,地址...)
我有一個名爲UserController的控制器。該控制器應該讓我登錄的用戶,創建用戶等
<!-- language: php -->
class UserController{
public function create($array){
...
}
public function login($email, $password){
...
}
}
如果我的模型是非常原始的,通過ORM implemeting只有CRUD操作?這將導致類似的代碼:
<!-- language: php -->
class UserController{
public function create($array){
$userModel->username = 'blah';
$userModel->blah = 'blah';
$id = $userModel->save();
$emailModel->id = $id;
$emailModel->email = "emailhere";
$emailModel->save();
//Do the same for addresses
}
public function login($email, $password){
...
}
}
,或者,我可以有模型比較複雜:
<!-- language: php -->
UserModel{
public function login($email, $password){
//Do the joining and checking here, then return true or false to the controller
}
}
然後在我的控制器:
<!-- language: php -->
userModel->login($mail, $password);
所以,這是更好的方法?爲了將所有的邏輯加入到模型中,還是應該讓模型只進行基本的CRUD操作?最後,我如何處理表連接?應該在模型內還是在控制器內處理?
乾杯
不是必須擁有登錄方法的用戶,而是系統或身份驗證模型。在登錄之前,用戶對象仍然不存在 –
只需注意:爲什麼你有電子郵件模型?在用戶模型中是否有足夠的電子郵件字段? – Alp
用戶可以在此應用程序中擁有多個與其帳戶相關聯的電子郵件地址。的 – F21