Bonsoir à tous.
je débute sur symfony et je doit faire un service qui teste une teste un champs de ma base de données et envoie un email si statut ok.
quelqu'un peut - il me donné une piste?
Bonsoir à tous.
je débute sur symfony et je doit faire un service qui teste une teste un champs de ma base de données et envoie un email si statut ok.
quelqu'un peut - il me donné une piste?
Bonjour,
Ta demande est vague, où en es-tu précisément et quel est ton niveau ?
Un service est une classe (POCO, Plain Old PHP Object), qui sera instancié par une factory dans ton service manager (concrètement, une entrée dans ton fichier services.yaml).
En paramètre du constructeur de ta classe, il te faut soit la valeur de la base de donnée, soit le repository doctrine de la table dans laquelle se trouve cette valeur.
Ensuite, ta classe ne contiendra qu'une méthode publique, validate, qui prends en paramètre la valeur à tester.
Tu noteras le $columnName en paramètre, tu peux en effet passer des strings en arguments, et ça rends ton validateur plus dynamique. Sinon hésites pas si ça n'est pas clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 final class TrucValidator { private $emailService; private $repository; private $columnName; public function __construct(EmailService $emailService, Repository $repository, string $columnName) { $this->emailService = $emailService; $this->repository = $repository; $this->columnName = $columnName; } public function validate(string $value) { if ($value !== $this->repository->fetchOneBy(...)[$this->columnName]) { throw new Exception('Bad value!!'); } $this->emailService->send(); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager