La gestion de l’évolution des statuts ou des états dans un projet est souvent source de manipulation très complexe.
Aujourd’hui avec le composant Workflow qui a été ajouté à Symfony 3.2, le développement d’un tel système est plus souple, plus rapide et plus besoin d’ajouter un bundle tiers.
Nous vous présenterons une vue d’ensemble de ce nouveau composant afin que vous puissiez avoir une idée de son fonctionnement avant la sortie officielle de Symfony 3.2 qui est actuellement en version Beta.
Installation
composer require symfony/workflow
Exemple de configuration
Afin d’illustrer notre propos nous allons prendre l’exemple d’un workflow de « demande d’intervention » , la demande évoluera selon les états suivants : opened, treated, closed . La demande ne pourra pas passer de l'état opened à closed sans être traité au préalable.
Créons donc un fichier App\config\workflow.yml
Maintenant nous créons notre entité « Demand » déclaré dans la configuration «supports» du workflow, elle nous permettra de faire la liaison afin de suivre le changement d'état de notre demande.
Utilisons notre workflow
Nous pouvons utiliser notre workflow maintenant , dans un controller ou dans une vue.
Conclusion
Le nouveau composant Workflow est très pratique nous attendons donc la sortie de symfony 3.2 afin de voir plus en détail dans la documentation du composant, toutes ces facettes. vous trouverez le post de l'annonce de la création du nouveau composant workflow par symfony ici .
Merci.