Finite\StateMachine\StateMachineInterface::addTransition PHP Method

addTransition() public method

public addTransition ( string | Finite\Transition\TransitionInterface $transition, string | null $initialState = null, string | null $finalState = null )
$transition string | Finite\Transition\TransitionInterface
$initialState string | null
$finalState string | null
    public function addTransition($transition, $initialState = null, $finalState = null);

Usage Example

Beispiel #1
0
 /**
  * @param StateMachineInterface $stateMachine
  */
 private function loadTransitions(StateMachineInterface $stateMachine)
 {
     $resolver = new OptionsResolver();
     $resolver->setRequired(array('from', 'to'));
     $resolver->setOptional(array('guard'));
     $resolver->setNormalizers(array('from' => function (Options $options, $v) {
         return (array) $v;
     }, 'guard' => function (Options $options, $v) {
         return !isset($v) ? null : $v;
     }));
     foreach ($this->config['transitions'] as $transition => $config) {
         $config = $resolver->resolve($config);
         $stateMachine->addTransition(new Transition($transition, $config['from'], $config['to'], $config['guard']));
     }
 }
All Usage Examples Of Finite\StateMachine\StateMachineInterface::addTransition