我是 MVC、CodeIgniter 和 Doctrine 的新手,所以也许我的问题没有那么重要。如果是这样,请原谅我。
我一直在阅读 PHPandStuff.com 上的 CodeIgniter + Doctrine 教程.我真的很喜欢我所看到的 Doctrine 并希望将它用于我的项目。但是,由于所有与数据库相关的操作都应该保存在 Model 而不是 Controller 中,那么使用 Doctrine 的 CRUD 操作不应该也放在 Doctrine Model 中吗?如果是,那又如何?
提前致谢
最佳答案
如果您不想将 DQL 写入 Controller (这是一件好事),您可以将单独的功能放入您的模型中,这些功能仅适用于扩展类提供的功能。
例如,如果您有一个名为 User
的类,你需要保存它,你可以做的很简单
class User extends BaseUser //or whatever you want
{
public function saveNewUser($data) {
//setting the userdata e.g. $this->username
try {
$this->save();
....
} catch (Doctrine_Connection_Mysql_Exception $e) {
...
}
}
}
因此,您可以根据需要在模型中拥有所有功能。
关于CodeIgniter + Doctrine : CRUD in Controller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3952096/