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; }
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 | -----------------+ // +----+ +----+ +----+ +----+ }