一开始我很抱歉标题 - 我不知道如何称呼这个问题。
假设我有(简化的)类:
class Articles_Repository {
public function save(Article_Entity $article) {...}
public function find($id) {...}
// Other methods
}
class Article_Entity {
public $thumbnail_url;
public $title;
public $text;
...
}
我应该在哪里放置"更改缩略图" - 上传和裁剪和保存特定文章缩略图的方法?进入存储库、实体或其他地方?
我相信放置
该方法的最佳位置是在服务中。我不认为处理图像是文章实体的责任。存储库的,甚至更少。文章只是说它有一个缩略图,它不在乎缩略图是如何生成的。
控制器应将上传的图像传递给服务,该服务将涉及要裁剪的其他对象,然后保存图像(图像存储库可能在此处工作)。然后将缩略图 url 分配给文章。