Observer Pattern

PHP 🟡 Mid

Definition

Pattern ou un sujet notifie automatiquement ses observateurs quand son etat change. Base du systeme d'evenements en PHP et du Hook System WordPress.

Analogie

Comme une chaine YouTube : quand une video est publiee, 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 decoupler les actions : apres la creation d'un compte, envoyer un email, creer un log, notifier l'admin.

Anti-pattern

Creer des chaines d'observateurs qui se declenchent mutuellement (boucle infinie).
#core#interview#pattern