Trait
PHP 🟡 MidDéfinition
Mécanisme de réutilisation de code dans les langages a héritage simple. Un trait permet d'injecter des méthodes dans plusieurs classes sans héritage.
Analogie
Comme un kit d'accessoires qu'on peut ajouter a n'importe quelle voiture, peu importe la marque.
Exemple de code
trait Timestampable {
public function getCreatedAt(): DateTime {
return $this->createdAt;
}
}
class Article {
use Timestampable;
}
Cas d'usage
Pour partager du comportement commun (logging, timestamps, soft delete) entre classes non liées par héritage.
Anti-pattern
Abuser des traits pour tout partager au lieu de privilégier la composition ou les interfaces.