Changes for doc/modele.md: 16 added lines, 1 removed line.
Original line number
Diff line number
Diff line
@@ -110,4 +110,19 @@ Cf [mail.md](mail.md) pour plus d'information
## Récursion
Le système de récursions des événements n'est pas encore implémentée
Il est possible de définir des événements dit récurcif c'est à dire que le traitement d'un événement va déclencher la création d'une copie de cette événement à une date utlérieurs.
La définition des événement récursif passe par la définition du champs recursion dans EvenementType.
Ce champ attend un DateInterval php au format `P1W`.
Lorsqu'un événement est traité (en succés ou en echec), une copie de lui même est creer avec les même paramétre avec une date de traitement ultérieur (en fonction du paramétre $recursion).
**Attention, réinitialiser ou relancer le traitement d'un événement récurssif provoque a nouveau sa récursion**
Pour arrêter la récursion d'un événement, il faut définir la date de fin de cette événement.
Cette fonction permet d'instancier un nouvelle événement du type demandé (par code ou par l'instance du type).
-`$dateFin` permet aux événements d'arrêter la récursion éventuelle après cete date.
-`$parametres` permet de fournir les paramètre du traitement. Il peut être fournis aux formats tableaux php, tableau JSON ou texte brut
```php
['mail-to'=>"jimi.hendrix@mail.fr"]
'{"mail-to" : "jimi.hendrix@mail.fr"}'
"mail-to=jimi.hendrix@mail.fr"
```
_Attention, dans le 3éme cas, les paramètres de l'événement ne sont pas enregistré au format JSON et ne peuvent pas bénéficier de la méthode getParametre("mail-to") de [EvenementLogsTrait.php](../src/Model/EvenementLogsTrait.php)_
Il est donc possible d'injecter l'EvenementManager dans un StateProcessor, une commande, un EventLister ou tout autres services afin de generer les événements.
## Traitements des événements
Le traitements des événements peut s'effectuer de 3 maniéres différentes