Alterway\Component\Workflow\Builder::open PHP Method

open() public method

Opens a workflow.
public open ( string $src, Alterway\Component\Workflow\SpecificationInterface $spec ) : Builder
$src string
$spec Alterway\Component\Workflow\SpecificationInterface
return Builder
    public function open($src, SpecificationInterface $spec)
    {
        $this->start = $this->nodes->get(uniqid());
        $this->start->addTransition($this->nodes->get($src), $spec);
        return $this;
    }

Usage Example

 function let(EventDispatcherInterface $dispatcher, Spec $specA, Spec $specAB, Spec $specAC)
 {
     $builder = new Builder($dispatcher->getWrappedObject());
     $builder->open('A', $specA->getWrappedObject())->link('A', 'B', $specAB->getWrappedObject())->link('A', 'C', $specAC->getWrappedObject());
     $this->beConstructedThrough(array($builder, 'getWorkflow'));
 }