Repository Pattern
PHP 🟡 MidDé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.