我有一个与Doctrine 2和Zend Framework相关的问题。当使用Doctrine 2和Zend Framework时,应该在哪里放置业务逻辑
如果您在默认情况下使用没有Doctrine的Zend Framework,则将业务逻辑放入模型中。但是因为Doctrine 2确实有实体应该在哪里放置商业逻辑?
我第一次创建了实体管理器调用实体的模型。但是当我想为没有数据库调用的模型编写单元测试时。我需要将实体经理移动到控制器。但我在我的控制器中获得业务逻辑,这是不好的。
下面的代码显示的控制器操作的一部分:
$customerAddress = $this->_model->save($values, $id);
$this->_em->persist($customerAddress);
// Update default billing address
$defaultBilling = $this->_model->saveDefaultBilling($values, $customerAddress);
if ($defaultBilling != FALSE) {
$this->_em->persist($defaultBilling);
}
// Update default shipping address
$defaultShipping = $this->_model->saveDefaultShipping($values, $customerAddress);
if ($defaultShipping != FALSE) {
$this->_em->persist($defaultShipping);
}
$this->_em->flush();
有人可以说什么是这个问题的最佳做法是什么? Thx
我认为这是最好的,所有的学说代码移出控制器,进入领域类,请查看我的博客文章:http://www.cobbweb.me/2010/11/integrate-doctrine- 2-zend-framework-application/ – Cobby 2010-11-23 00:15:00