Symfony中的Doctrine用户实体:了解头像的位置

时间:2014-02-02 13:57:15

标签: php symfony doctrine-orm

假设我有一个Doctrine用户实体。每个用户都有一个头像,当然这些头像所在的网络服务器上还有一个特定的文件夹。我的问题是:用户实体应该知道这个位置吗?

我目前正在将头像文件夹URL存储为Symfony2中的参数。我正在将此参数注入Twig,以便Twig可以打印正确的URL。我还考虑将参数注入用户实体,例如当用户被删除时,我想让实体删除头像图像。然而,不同的消息来源提到Doctrine Entity仅仅是POPO(普通的旧PHP对象),并且向它们注入任何东西都是不好的做法。

这表明我的问题的答案是“不”。这提出了一个新问题:用户删除业务逻辑应该驻留在哪里?这怎么知道化身的位置?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用所有这些业务逻辑所在的UserManager服务。

较短的解决方案是在用户实体中设置路径并在那里执行逻辑,因为您不需要任何外部服务来保存/删除用户头像文件,如下所示:http://symfony.com/doc/master/cookbook/doctrine/file_uploads.html