getObject() public method

public getObject ( ) : object
return object
Esempio n. 1
0
 /**
  * @param StateMachineInterface $sm
  * @param string                $event
  * @param callable              $callback
  * @param array                 $specs
  *
  * @return $this
  */
 protected function add(StateMachineInterface $sm, $event, $callback, array $specs)
 {
     $specs = $this->processSpecs($specs);
     $listener = function (TransitionEvent $e) use($sm, $callback, $specs) {
         if ($sm !== $e->getStateMachine()) {
             return;
         }
         if (!(in_array(CallbackHandler::ALL, $specs['to']) || in_array($e->getTransition()->getState(), $specs['to']))) {
             return;
         }
         if (!(in_array(CallbackHandler::ALL, $specs['from']) || in_array($e->getInitialState()->getName(), $specs['from']))) {
             return;
         }
         if (in_array($e->getTransition()->getState(), $specs['exclude_to'])) {
             return;
         }
         if (in_array($e->getInitialState()->getName(), $specs['exclude_from'])) {
             return;
         }
         call_user_func($callback, $sm->getObject(), $e);
     };
     $events = array($event);
     if (count($specs['on']) > 0 && !in_array(self::ALL, $specs['on'])) {
         $events = array_map(function ($v) use($event) {
             return $event . '.' . $v;
         }, $specs['on']);
     }
     foreach ($events as $event) {
         $this->dispatcher->addListener($event, $listener);
     }
     return $this;
 }