DEV Community

Discussion on: Cleaning up your codebase with a clean architecture

Collapse
 
pht profile image
Tuan Pham

Thanks for interesting article!

A minor mistake in class SetProfileImage:

class SetProfileImage 
{
    private $image_store; // Is this $image_repo?

Also, I have another question, in class EloquentUserRepostiory you are using Domain\User and function get return Domain\User, is it an Eloquent model?
If it is an Eloquent model, how do you implement the repository with MongoDB, which isn't supported by Eloquent?
Maybe, we should use Entity instead of Eloquent Model?

Collapse
 
barryosull profile image
Barry O Sullivan

Hi Tuam,

Thanks for pointing that out, I'll correct it shortly.

You are correct, the above get call would return an eloquent model, which isn't ideal. If I were to take this code example further, I would create a domain class for User that is completely independent from Eloquent, and then translate from it to the Eloquent model inside the repository.