public static function connect($group = null, bool $getShared = true)
	{
		// If a DB connection is passed in, just pass it back
		if ($group instanceof BaseConnection)
		{
			return $group;
		}

		if (is_array($group))
		{
			$config = $group;
			$group  = 'custom-' . md5(json_encode($config));
		}

		$config = $config ?? new \Config\Database();

		if (empty($group))
		{
			$group = ENVIRONMENT === 'testing' ? 'tests' : $config->defaultGroup;
		}

		if (is_string($group) && ! isset($config->$group) && strpos($group, 'custom-') !== 0)
		{
			throw new \InvalidArgumentException($group . ' is not a valid database connection group.');
		}

		if ($getShared && isset(static::$instances[$group]))
		{
			return static::$instances[$group];
		}

		static::ensureFactory();

		if (isset($config->$group))
		{
			$config = $config->$group;
		}

		$connection = static::$factory->load($config, $group);

		static::$instances[$group] = & $connection;

		return $connection;
	}
public static function connect($group = null, bool $getShared = true)
	{
		// If a DB connection is passed in, just pass it back
		if ($group instanceof BaseConnection)
		{
			return $group;
		}

		if (is_array($group))
		{
			$config = $group;
			$group  = 'custom-' . md5(json_encode($config));
		}

		$config = $config ?? new \Config\Database();

		if (empty($group))
		{
			$group = ENVIRONMENT === 'testing' ? 'tests' : $config->defaultGroup;
		}

		if (is_string($group) && ! isset($config->$group) && strpos($group, 'custom-') !== 0)
		{
			throw new \InvalidArgumentException($group . ' is not a valid database connection group.');
		}

		if ($getShared && isset(static::$instances[$group]))
		{
			return static::$instances[$group];
		}

		static::ensureFactory();

		if (isset($config->$group))
		{
			$config = $config->$group;
		}

		$connection = static::$factory->load($config, $group);

		static::$instances[$group] = & $connection;

		return $connection;
	}
public static function connect ( $ group = null , bool $ getShared = true ) { // If a DB connection is passed in, just pass it back if ( $ group instanceof BaseConnection ) { return $ group ; } if ( is_array ( $ group ) ) { $ config = $ group ; $ group = 'custom-' . md5 ( json_encode ( $ config ) ) ; } $ config = $ config ?? new \ Config \ Database ( ) ; if ( empty ( $ group ) ) { $ group = ENVIRONMENT === 'testing' ? 'tests' : $ config -> defaultGroup ; } if ( is_string ( $ group ) && ! isset ( $ config -> $ group ) && strpos ( $ group , 'custom-' ) !== 0 ) { throw new \ InvalidArgumentException ( $ group . ' is not a valid database connection group.' ) ; } if ( $ getShared && isset ( static :: $ instances [ $ group ] ) ) { return static :: $ instances [ $ group ] ; } static :: ensureFactory ( ) ; if ( isset ( $ config -> $ group ) ) { $ config = $ config -> $ group ; } $ connection = static :: $ factory -> load ( $ config , $ group ) ; static :: $ instances [ $ group ] = & $ connection ; return $ connection ; }
Creates the default

@param string|array $group     The name of the connection group to use,
or an array of configuration settings.
@param boolean      $getShared Whether to return a shared instance of the connection.

@return BaseConnection
Creates the default