code: public static function parseDsn($string = null)
  	{
  		$opts = null;
  
  		if (!empty($string)) {
  			$dsn = (object) DsnParser::parseUrl($string)->toArray();
  
  			$opts = [
  				'driver'	=> $dsn->driver,
  				'host'		=> $dsn->host,
  				'database'	=> $dsn->dbname,
  				'username'	=> $dsn->user,
  				'password'	=> isset($dsn->pass) ? $dsn->pass : null
  			];
  		}
  
  		return $opts;
  	}
docs: Take a string DSN and parse it into an array of its pieces
  
  @param null $string
  @return array|null