diff --git a/components/workflow.rst b/components/workflow.rst index 48fca1aa756..ec613de2e89 100644 --- a/components/workflow.rst +++ b/components/workflow.rst @@ -39,20 +39,20 @@ Consider the following example for a blog post. A post can have one of a number of predefined statuses (`draft`, `review`, `rejected`, `published`). In a workflow, these statuses are called **places**. You can define the workflow like this:: - use Symfony\Component\Workflow\Definition; + use Symfony\Component\Workflow\DefinitionBuilder; use Symfony\Component\Workflow\Transition; use Symfony\Component\Workflow\Workflow; use Symfony\Component\Workflow\MarkingStore\ScalarMarkingStore; - $states = ['draft', 'review', 'rejected', 'published']; + $builder = new DefinitionBuilder(); + $builder->addPlaces(['draft', 'review', 'rejected', 'published']); // Transitions are defined with a unique name, an origin place and a destination place - $transitions[] = new Transition('to_review', 'draft', 'review'); - $transitions[] = new Transition('publish', 'review', 'published'); - $transitions[] = new Transition('reject', 'review', 'rejected'); + $builder->addTransition(new Transition('to_review', 'draft', 'review')); + $builder->addTransition(new Transition('publish', 'review', 'published')); + $builder->addTransition(new Transition('reject', 'review', 'rejected')); - $definition = new Definition($states, $transitions); - $definition->setInitialPlace('draft'); + $definition = $builder->build(); $marking = new ScalarMarkingStore('currentState'); $workflow = new Workflow($definition, $marking); diff --git a/workflow/state-machines.rst b/workflow/state-machines.rst index 23d20a236ef..95dbeda607d 100644 --- a/workflow/state-machines.rst +++ b/workflow/state-machines.rst @@ -158,8 +158,7 @@ Below is the configuration for the pull request state machine. $transitions[] = new Transition('rejected', 'review', 'closed'); $transitions[] = new Transition('reopened', 'closed', 'review'); - $definition = new Definition($states, $transitions); - $definition->setInitialPlace('start'); + $definition = new Definition($states, $transitions, 'start'); $marking = new ScalarMarkingStore('marking'); $stateMachine = new StateMachine($definition, $marking); diff --git a/workflow/usage.rst b/workflow/usage.rst index 933d4527182..b173935e8ed 100644 --- a/workflow/usage.rst +++ b/workflow/usage.rst @@ -107,8 +107,7 @@ like this: $transitions[] = new Transition('publish', 'review', 'published'); $transitions[] = new Transition('reject', 'review', 'rejected'); - $definition = new Definition($states, $transitions); - $definition->setInitialPlace('draft'); + $definition = new Definition($states, $transitions, 'draft'); $marking = new PropertyAccessorMarkingStore('marking'); $workflow = new Workflow($definition, $marking);