Tp 5 php classes heritages traits interfaces blogpoo
Thème :
Junior
1 vues ·6/12 leçons

05. Les Traits : Le Partage Horizontal de Code

Un Trait est un mécanisme de réutilisation de code dans des langages à héritage simple comme PHP. C’est comme un “copier-coller” intelligent géré par le langage.

Le Trait Timestampable

Presque toutes nos tables ont besoin de created_at et updated_at. Au lieu de réécrire cette logique partout, nous l’avons mise dans un Trait.

trait Timestampable {
    public DateTimeImmutable $created_at;
    public ?DateTimeImmutable $updated_at = null;

    public function initializeTimestamps(): void {
        $this->created_at = new DateTimeImmutable();
        $this->updated_at = $this->created_at;
    }
}

Utilisation

Dans Article.php ou User.php, il suffit d’écrire :

class Article extends Model {
    use Timestampable;
    // ...
}

Pourquoi c’est génial ?

  1. Évite l’héritage multiple : PHP ne permet pas class Article extends Model, Timestamps. Les Traits règlent ce problème.
  2. Modularité : On peut ajouter ou retirer des fonctionnalités à une classe en une seule ligne.
  3. Typage Moderne : Nous utilisons DateTimeImmutable au lieu de simples chaînes de caractères pour une manipulation des dates plus sûre.

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur 05. Les Traits : Le Partage Horizontal de Code. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.