@@ -39,20 +39,20 @@ Consider the following example for a blog post. A post can have one of a number
39
39
of predefined statuses (`draft `, `review `, `rejected `, `published `). In a workflow,
40
40
these statuses are called **places **. You can define the workflow like this::
41
41
42
- use Symfony\Component\Workflow\Definition ;
42
+ use Symfony\Component\Workflow\DefinitionBuilder ;
43
43
use Symfony\Component\Workflow\Transition;
44
44
use Symfony\Component\Workflow\Workflow;
45
45
use Symfony\Component\Workflow\MarkingStore\ScalarMarkingStore;
46
46
47
- $states = ['draft', 'review', 'rejected', 'published'];
47
+ $builder = new DefinitionBuilder();
48
+ $builder->addPlaces(['draft', 'review', 'rejected', 'published']);
48
49
49
50
// 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') );
53
54
54
- $definition = new Definition($states, $transitions);
55
- $definition->setInitialPlace('draft');
55
+ $definition = $builder->build();
56
56
57
57
$marking = new ScalarMarkingStore('currentState');
58
58
$workflow = new Workflow($definition, $marking);
0 commit comments