public static function scheme($name = null, $scheme = null, $override = false)
    {
        if (is_array($name) && is_bool($scheme)) {
            $override = $scheme;
        }

        return Util::operateArray(self::$scheme, $name, $scheme, null, function ($key, $value) {
            if (is_string($key)) {
                self::modifyScheme($key, is_array($value) ? $value : "$value");
            } elseif (is_int($key)) {
                self::modifyScheme($value, '');
            }
        }, $override, function (array $origin) {
            if (self::isTaskBooted()) {
                foreach (array_keys($origin) as $name) {
                    self::getTask()->removeDriver($name);
                }
            }
        });
    }
public static function scheme($name = null, $scheme = null, $override = false)
    {
        if (is_array($name) && is_bool($scheme)) {
            $override = $scheme;
        }

        return Util::operateArray(self::$scheme, $name, $scheme, null, function ($key, $value) {
            if (is_string($key)) {
                self::modifyScheme($key, is_array($value) ? $value : "$value");
            } elseif (is_int($key)) {
                self::modifyScheme($value, '');
            }
        }, $override, function (array $origin) {
            if (self::isTaskBooted()) {
                foreach (array_keys($origin) as $name) {
                    self::getTask()->removeDriver($name);
                }
            }
        });
    }
public static function scheme ( $ name = null , $ scheme = null , $ override = false ) { if ( is_array ( $ name ) && is_bool ( $ scheme ) ) { $ override = $ scheme ; } return Util :: operateArray ( self :: $ scheme , $ name , $ scheme , null , function ( $ key , $ value ) { if ( is_string ( $ key ) ) { self :: modifyScheme ( $ key , is_array ( $ value ) ? $ value : "$value" ) ; } elseif ( is_int ( $ key ) ) { self :: modifyScheme ( $ value , '' ) ; } } , $ override , function ( array $ origin ) { if ( self :: isTaskBooted ( ) ) { foreach ( array_keys ( $ origin ) as $ name ) { self :: getTask ( ) -> removeDriver ( $ name ) ; } } } ) ; }
Set or get the dispatch scheme.

@param string|array|null      $name
@param string|array|bool|null $scheme
@param bool                   $override

@return mixed
Set or get the dispatch scheme .