src/components/systems/states/machines/extensions/ExtensionStatesRoute.php
public function from($stateId, IStateMachine $machine = null): IStatesRoute
    {
        $this->extractFromMachine($machine);

        $route = $this[static::FIELD__ROUTE];

        foreach ($this->getPluginsByStage(static::STAGE__FROM) as $plugin) {
            $stateId = $plugin($this, $stateId);
        }

        if (!isset($route[$stateId])) {
            $route[$stateId] = [];
        }

        $this[static::FIELD__CURRENT_FROM] = $stateId;
        $this[static::FIELD__ROUTE] = $route;

        $this->packToMachine($machine);

        return $this;
    }
public function from($stateId, IStateMachine $machine = null): IStatesRoute
    {
        $this->extractFromMachine($machine);

        $route = $this[static::FIELD__ROUTE];

        foreach ($this->getPluginsByStage(static::STAGE__FROM) as $plugin) {
            $stateId = $plugin($this, $stateId);
        }

        if (!isset($route[$stateId])) {
            $route[$stateId] = [];
        }

        $this[static::FIELD__CURRENT_FROM] = $stateId;
        $this[static::FIELD__ROUTE] = $route;

        $this->packToMachine($machine);

        return $this;
    }
public function from ( $ stateId , IStateMachine $ machine = null ) : IStatesRoute { $ this -> extractFromMachine ( $ machine ) ; $ route = $ this [ static :: FIELD__ROUTE ] ; foreach ( $ this -> getPluginsByStage ( static :: STAGE__FROM ) as $ plugin ) { $ stateId = $ plugin ( $ this , $ stateId ) ; } if ( ! isset ( $ route [ $ stateId ] ) ) { $ route [ $ stateId ] = [ ] ; } $ this [ static :: FIELD__CURRENT_FROM ] = $ stateId ; $ this [ static :: FIELD__ROUTE ] = $ route ; $ this -> packToMachine ( $ machine ) ; return $ this ; }
@param $stateId
@param $machine

@return IStatesRoute
@param $stateId @param $machine