static public function isBetterMode($modeA, $modeB)
    {
        // TODO Find something more explicit than 'better' (availability ?)

        // TODO assert valid states ?

        if ($modeA === static::MODE_DISABLED) {
            return $modeB !== static::MODE_DISABLED;
        } elseif ($modeA === static::MODE_JUST_IN_TIME) {
            return in_array($modeB, [static::MODE_MANUAL, static::MODE_AUTO], true);
        }

        return false;
    }
static public function isBetterMode($modeA, $modeB)
    {
        // TODO Find something more explicit than 'better' (availability ?)

        // TODO assert valid states ?

        if ($modeA === static::MODE_DISABLED) {
            return $modeB !== static::MODE_DISABLED;
        } elseif ($modeA === static::MODE_JUST_IN_TIME) {
            return in_array($modeB, [static::MODE_MANUAL, static::MODE_AUTO], true);
        }

        return false;
    }
static public function isBetterMode ( $ modeA , $ modeB ) { // TODO Find something more explicit than 'better' (availability ?) // TODO assert valid states ? if ( $ modeA === static :: MODE_DISABLED ) { return $ modeB !== static :: MODE_DISABLED ; } elseif ( $ modeA === static :: MODE_JUST_IN_TIME ) { return in_array ( $ modeB , [ static :: MODE_MANUAL , static :: MODE_AUTO ] , true ) ; } return false ; }
Returns whether the mode A is better than the mode B.

@param string $modeA
@param string $modeB

@return bool
Returns whether the mode A is better than the mode B .