我的博客包中有一个Post实体。帖子可以有很多评论。当我创建一个新的注释实体附加到一个职位,我必须设置了一堆诸如性能,使用默认属性创建实体对象的最佳方法
$comment->setTimestamp(new \DateTime());
$comment->setUserId($this->getUser()->getId());
$comment->setHost($this->getClientIP());
默认时区是很容易在实体的构造函数。构建实体时如何自动设置用户标识和密码? getClientIP目前是控制器中的一个功能。这应该是服务。我可以有一家工厂为我创建评论吗?
顺便说一句,对于时间戳..看看Gedmo包(https://github.com/l3pp4rd/DoctrineExtensions)。它具有以下内容:Timestampable - 更新创建,更新甚至属性更改的日期字段。 – NoScope
我认为你没有使用Doctrine 2? – Cerad