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(); } }
Partager