我有一个类说照片和代码,比如
class photo
{
public function __construct($UserWhosePhotoToBeGetObj)
{
$this->UserWhosePhotoToBeGetObj = $UserWhosePhotoToBeGetObj
}
}
public function getPhoto()
{
// some complex logic and query to get detail of photo of user.
}
现在的问题是,当我想获取多个用户的照片时,如果我循环调用这个类,那么将触发许多查询,如果我创建类photoArr
那么我需要在两个类中编写复杂的逻辑。
也许,您可以将基于用户的形成查询的逻辑捆绑在一个函数中,并在多个用户的情况下一次又一次地调用该函数。我想不出避免收集多个用户。
"
photo"听起来像一个数据类。 数据类不应包含用于获取内容的逻辑。在构造函数中传入"要获取照片的用户"似乎也相当错误。
这样的逻辑可能应该放在一个PhotoFetcher类中,该类具有你当前的getPhoto的逻辑。例如getPhotoForUser(User $userForWhichToGetPhoto)。它还可以支持批量获取。