我是MVC,CodeIgniter和Doctrine的新手,所以也许我的问题并不相关。请原谅我。
我一直在阅读PHPandStuff.com上的CodeIgniter + Doctrine教程。我真的很喜欢我所见过的任何学说,并希望将它用于我的项目。但是,由于所有与数据库相关的操作都应保存在模型中而不是控制器中,因此使用Doctrine的CRUD操作是否也应该在Doctrine模型中进行操作?如果是这样,那怎么样?
提前致谢
答案 0 :(得分:4)
如果您不想将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) {
...
}
}
}
因此,您可以根据需要在模型中使用所有函数。