Skip to content

Commit 2511c21

Browse files
authored
Merge pull request #1 from Nyholm/workflow-definition-builder
Documented support for DefinitionBuilder
2 parents 4f277dc + 3aa433d commit 2511c21

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

components/workflow.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,20 @@ Consider the following example for a blog post. A post can have one of a number
3939
of predefined statuses (`draft`, `review`, `rejected`, `published`). In a workflow,
4040
these statuses are called **places**. You can define the workflow like this::
4141

42-
use Symfony\Component\Workflow\Definition;
42+
use Symfony\Component\Workflow\DefinitionBuilder;
4343
use Symfony\Component\Workflow\Transition;
4444
use Symfony\Component\Workflow\Workflow;
4545
use Symfony\Component\Workflow\MarkingStore\ScalarMarkingStore;
4646

47-
$states = ['draft', 'review', 'rejected', 'published'];
47+
$builder = new DefinitionBuilder();
48+
$builder->addPlaces(['draft', 'review', 'rejected', 'published']);
4849

4950
// Transitions are defined with a unique name, an origin place and a destination place
50-
$transitions[] = new Transition('to_review', 'draft', 'review');
51-
$transitions[] = new Transition('publish', 'review', 'published');
52-
$transitions[] = new Transition('reject', 'review', 'rejected');
51+
$builder->addTransition(new Transition('to_review', 'draft', 'review'));
52+
$builder->addTransition(new Transition('publish', 'review', 'published'));
53+
$builder->addTransition(new Transition('reject', 'review', 'rejected'));
5354

54-
$definition = new Definition($states, $transitions);
55-
$definition->setInitialPlace('draft');
55+
$definition = $builder->build();
5656

5757
$marking = new ScalarMarkingStore('currentState');
5858
$workflow = new Workflow($definition, $marking);

workflow/state-machines.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,7 @@ Below is the configuration for the pull request state machine.
158158
$transitions[] = new Transition('rejected', 'review', 'closed');
159159
$transitions[] = new Transition('reopened', 'closed', 'review');
160160
161-
$definition = new Definition($states, $transitions);
162-
$definition->setInitialPlace('start');
161+
$definition = new Definition($states, $transitions, 'start');
163162
164163
$marking = new ScalarMarkingStore('marking');
165164
$stateMachine = new StateMachine($definition, $marking);

workflow/usage.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,7 @@ like this:
107107
$transitions[] = new Transition('publish', 'review', 'published');
108108
$transitions[] = new Transition('reject', 'review', 'rejected');
109109
110-
$definition = new Definition($states, $transitions);
111-
$definition->setInitialPlace('draft');
110+
$definition = new Definition($states, $transitions, 'draft');
112111
113112
$marking = new PropertyAccessorMarkingStore('marking');
114113
$workflow = new Workflow($definition, $marking);

0 commit comments

Comments
 (0)