Example #1
0
 public function provideSimpleWorkflowDefinition()
 {
     $definition = new Definition();
     $definition->addPlaces(range('a', 'c'));
     $definition->addTransition(new Transition('t1', 'a', 'b'));
     $definition->addTransition(new Transition('t2', 'b', 'c'));
     return $definition;
 }
Example #2
0
 private function createComplexWorkflow()
 {
     $definition = new Definition();
     $definition->addPlaces(range('a', 'g'));
     $definition->addTransition(new Transition('t1', 'a', array('b', 'c')));
     $definition->addTransition(new Transition('t2', array('b', 'c'), 'd'));
     $definition->addTransition(new Transition('t3', 'd', 'e'));
     $definition->addTransition(new Transition('t4', 'd', 'f'));
     $definition->addTransition(new Transition('t5', 'e', 'g'));
     $definition->addTransition(new Transition('t6', 'f', 'g'));
     return $definition;
     // The graph looks like:
     //
     // +---+     +----+     +---+     +----+     +----+     +----+     +----+     +----+     +---+
     // | a | --> | t1 | --> | c | --> | t2 | --> | d  | --> | t4 | --> | f  | --> | t6 | --> | g |
     // +---+     +----+     +---+     +----+     +----+     +----+     +----+     +----+     +---+
     //             |                    ^          |                                           ^
     //             |                    |          |                                           |
     //             v                    |          v                                           |
     //           +----+                 |        +----+     +----+     +----+                  |
     //           | b  | ----------------+        | t3 | --> | e  | --> | t5 | -----------------+
     //           +----+                          +----+     +----+     +----+
 }