/** * @param StateMachineInterface $stateMachine */ private function loadStates(StateMachineInterface $stateMachine) { $resolver = new OptionsResolver(); $resolver->setDefaults(array('type' => StateInterface::TYPE_NORMAL, 'properties' => array())); $resolver->setAllowedValues('type', [StateInterface::TYPE_INITIAL, StateInterface::TYPE_NORMAL, StateInterface::TYPE_FINAL]); foreach ($this->config['states'] as $state => $config) { $config = $resolver->resolve($config); $stateMachine->addState(new State($state, $config['type'], array(), $config['properties'])); } }