为Doctrine Objects / Entites创建自定义属性/函数的最佳做法是什么?
例如在Symfony1.4 / Doctrine 1.2中,我可以向User
类添加方法
public function getName()
{
return $this->getFirstName().' '.$this->getLastName();
}
这将合并到字段并返回值 - 自定义属性/函数。
现在我在Symfony2 / Doctrine 2中实现了这个 - 实体类?将自定义方法放在那里可以吗?我正在使用EntityRepositories来查找数据的自定义方法......但不确定对象的最佳方法。
我搜索了高低,无法在文档中找到与此相关的任何内容(Symfony和Doctrine)....请让我摆脱痛苦!
答案 0 :(得分:3)
Doctrine实体实际上只是一个普通的旧PHP对象,其中包含有关如何将对象的部分或全部属性保存到数据库的其他映射信息。您可以向类添加任何内容,并且并非所有属性或方法都必须映射到数据库中的字段。
对于您的具体问题,就最佳做法而言,您的getName()
方法就可以了。请注意,要更新字段,您必须使用setFirstName()
和setLastName()
方法,或者编写一个在空格上爆炸的setName()
方法并更新各个字段。