/** * @see SplObserver::update() */ public function update(\SplSubject $stateMachine) { if ($stateMachine instanceof StatemachineInterface) { if ($stateMachine->getCurrentState()->hasEvent($this->eventName)) { $stateMachine->triggerEvent($this->eventName); } } }
/** * @see SplObserver::update() */ public function update(\SplSubject $stateMachine) { if ($stateMachine instanceof StatemachineInterface) { $subject = $stateMachine->getSubject(); if ($subject instanceof StatefulInterface) { $stateName = $stateMachine->getCurrentState()->getName(); $subject->setCurrentStateName($stateName); } } }