Observer Pattern

PHP 🟡 Mid

Définition

Pattern ou un sujet notifie automatiquement ses observateurs quand son état change. Base du système d'evenements en PHP et du Hook System WordPress.

Analogie

Comme une chaîne YouTube : quand une vidéo est publiée, tous les abonnes sont notifies automatiquement.

Exemple de code

interface Observer {
  public function update(Event $event): void;
}
class EventDispatcher {
  public function dispatch(Event $event): void {
    foreach ($this->listeners[$event::class] as $listener) {
      $listener->update($event);
    }
  }
}

Cas d'usage

Pour découpler les actions : après la création d'un compte, envoyer un email, créer un log, notifier l'admin.

Anti-pattern

Créer des chaînés d'observateurs qui se déclenchent mutuellement (boucle infinie).
#core#interview#pattern

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