m4rise/blog

Notification - Utilisation d'un service mail

Closed this issue · 1 comments

Très bonne idée d'avoir crée une classe gérant l'envoi du mail en dehors du contrôleur, cela permet de le simplifier.

Cependant, votre classe Notification possède une dépendance forte à SwiftMailer pour l'envoi des mails, le jour ou vous changerez de librairie, vous serrez obligé de modifier tout votre code. Pouvez-vous me proposer un correctif utilisant de l'injection de dépendances ?

public function __construct(Swift_Mailer $mailer, Environment $renderer)
{
$this->mailer = $mailer;
$this->renderer = $renderer;
}

Le plus simple serait certainement de créer une interface mailer qui serait injectée dans le constructeur. D'autres classes pourraient l'implémenter, dont l'une adaptant Swift_Mailer. Je travaille sur le correctif.