Single Responsibility Principle
PHP 🟡 MidDefinition
Une classe ne doit avoir qu'une seule raison de changer. Chaque classe se concentre sur une seule responsabilite metier.
Analogie
Comme un employe specialise : le cuisinier cuisine, le serveur sert, le caissier encaisse.
Exemple de code
// Mauvais: une classe qui fait tout
// class User { save(), sendEmail(), generatePDF() }
// Bon: responsabilites separees
class UserRepository { public function save(User $u) {} }
class UserMailer { public function welcome(User $u) {} }
class UserExporter { public function toPDF(User $u) {} }
Cas d'usage
Toujours : chaque classe creee doit avoir une responsabilite claire et unique.
Anti-pattern
La God Class de 2000 lignes qui gere les donnees, l'affichage, les emails et les logs.