我對如何使用MVC執行插入和更新語句有點困惑。 在你的控制器中創建一個對象的實例並將其傳遞給你的服務來保存它,或者你將數據傳遞給你的服務並處理其中的所有其他事情嗎?MVC - 如何將數據傳遞到服務
插入
在我控制器類似:
$userservice->insert("myname","mypassword");
在我UserService:
function insert($username,$password){
$user = ORM::for_table('user')->create();
$user->username= $username;
$user->password= $password;
$user->save();
}
更新
在我控制器類似:
$userservice->update("myname","mypassword",1);
在我UserService:
function insert($username,$password,$id){
$user = ORM::for_table('user')->find($id);
$user->username= $username;
$user->password= $password;
$user->save();
}
這是很好的做法? 因爲我看到很多這樣的答案,例如在控制器中創建用戶並傳遞給存儲庫以進行保存: Proper Repository Pattern Design in PHP? 但我不喜歡在控制器中創建用戶的想法......
好的thx爲這個很好的解釋,但有一個問題:你在哪裏創建你的價值對象?我知道你不應該在你的控制器中創建對象,那麼你如何將它們從控制器傳遞給服務? – randomizer
我添加了一個新的部分'所以,應該在哪裏創建一個值對象?'回答你的問題 – Mamuz
好的,thx爲您的良好反饋。欣賞它。 – randomizer