【发布时间】:2011-01-11 02:32:25
【问题描述】:
我有一个模型,Entity,我构建了一个 EntityMapper 和一个 Entity 类(我只是在学习使用 Zend Framework 并按照教程进行操作)。 Entity 类有一个 setName 方法,我想要它做的是检查数据库中是否有另一个同名的“实体”,在这种情况下抛出异常或其他东西。
所以,如果我理解正确,数据库调用应该只在 Mapper 类中。那么,在setName 内部,我应该这样做:
$entity = new Application_Model_EntityMapper();
if ($entity->checkDuplicateName($name, $this->_id))
$this->_name = $name;
else
throw new Exception(...);
return $this;
并将实际执行查询的代码放在 Mapper 类的新方法中? (当然,如果“实体”是新的或者它已经有一个 id,那么查询应该是不同的,但这不是我的问题的重点)。
我知道我可以通过多种方式做到这一点,但我的目标是尽可能地适应框架的约定。
【问题讨论】: