Repository Pattern

PHP 🟡 Mid

Définition

Couche d'abstraction entre la logique métier et l'accès aux données. Le repository expose des méthodes métier et masque les détails de persistence.

Analogie

Comme un bibliothécaire : tu lui demandes un livre par titre, il sait ou le trouver dans les rayons.

Exemple de code

interface UserRepository {
  public function findByEmail(string $email): ?User;
  public function save(User $user): void;
}

class DoctrineUserRepository implements UserRepository {
  // Implementation avec Doctrine ORM
}

Cas d'usage

Pour découpler la logique métier de la base de données et faciliter les tests unitaires.

Anti-pattern

Exposer des méthodes query builder dans le repository, fuitant les détails de persistence.
#core#interview#architecture

← → au clavier pour passer d'une fiche à l'autre