Interface en POO

Une interface est un contrat que toute classe implémentant cette interface doit respecter.

Elle définit quoi faire, pas comment le faire.

Exemple :

<?php
// Contrat : tout "envoyeur d'email" doit avoir une méthode `envoyer`
interface MailerInterface {
    public function envoyer(string $destinataire, string $sujet, string $corps): void;
}

Pourquoi c’est utile ?

  • Votre code métier dépend du contrat (MailerInterface), pas d’une implémentation concrète (GmailMailer, SendGridMailer, etc.).
  • Vous pouvez changer de service sans toucher au reste de l’application.
  • En test, vous injectez un MockMailer qui ne fait rien → pas d’email réel envoyé.
Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.