Bonjour a tous !
J'ai une petite question concernant les Best Practice Symfony voir même PHP en général.
Quelle est la meilleure méthode de gêrer plusieurs cas d'erreur venant d'une méthode d'un service ?
je m'explique un peu :
Pour diminuer le code contenu dans mes controllers, j'ai généralement tout mon code metier dans des service dédiés à des tâches spécifique. Pour simplifier leur utilisation, j'ai généralement un découpage de methodes du genre
Ok jusque là pas de soucis, ça me semble plutôt propre, simple, et ça fonctionne (j'ai simplifié l'exemple évidement et mes methodes ont des noms bien plus clairs).
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
25 public function init($parameters){ $result = $this->initStuff1($arameters); $result = $this->initStuff2($arameters); $result = $this->initStuff3($arameters); ... } private function initStuff1(parameters){ ... return $result; } private function initStuff2(parameters){ ... return $result; } private function initStuff3(parameters){ ... return $result; } ...
Le hic c'est que chaque methode initStuffX peu remonter une erreur différente (et je ne parle pas d'Exception, plutôt simplement d'erreurs "attendues") mais que forcement la methode initStuff(), elle, ne peu remonter qu'une seule erreur.
Or, dans le contrôleur j'ai besoin de créer un flashbag different en fonction de l'erreur pour afficher sur le front.
Du coup, si mes methodes initStufX retournent un simple booléen, impossible de savoir quelle a été l'erreur de traitement. Les exception ne me semble pas forcement appropriés non plus.
Du coup quelle serait la meilleure pratique dans ce cas ?
Partager