protected function buildDSN()
	{
		$this->DSN === '' || $this->DSN = '';

		// If UNIX sockets are used, we shouldn't set a port
		if (strpos($this->hostname, '/') !== false)
		{
			$this->port = '';
		}

		$this->hostname === '' || $this->DSN = "host={$this->hostname} ";

		if (! empty($this->port) && ctype_digit($this->port))
		{
			$this->DSN .= "port={$this->port} ";
		}

		if ($this->username !== '')
		{
			$this->DSN .= "user={$this->username} ";

			// An empty password is valid!
			// password must be set to null to ignore it.

			$this->password === null || $this->DSN .= "password='{$this->password}' ";
		}

		$this->database === '' || $this->DSN .= "dbname={$this->database} ";

		// We don't have these options as elements in our standard configuration
		// array, but they might be set by parse_url() if the configuration was
		// provided via string> Example:
		//
		// postgre://username:password@localhost:5432/database?connect_timeout=5&sslmode=1
		foreach (['connect_timeout', 'options', 'sslmode', 'service'] as $key)
		{
			if (isset($this->{$key}) && is_string($this->{$key}) && $this->{$key} !== '')
			{
				$this->DSN .= "{$key}='{$this->{$key}}' ";
			}
		}

		$this->DSN = rtrim($this->DSN);
	}
protected function buildDSN()
	{
		$this->DSN === '' || $this->DSN = '';

		// If UNIX sockets are used, we shouldn't set a port
		if (strpos($this->hostname, '/') !== false)
		{
			$this->port = '';
		}

		$this->hostname === '' || $this->DSN = "host={$this->hostname} ";

		if (! empty($this->port) && ctype_digit($this->port))
		{
			$this->DSN .= "port={$this->port} ";
		}

		if ($this->username !== '')
		{
			$this->DSN .= "user={$this->username} ";

			// An empty password is valid!
			// password must be set to null to ignore it.

			$this->password === null || $this->DSN .= "password='{$this->password}' ";
		}

		$this->database === '' || $this->DSN .= "dbname={$this->database} ";

		// We don't have these options as elements in our standard configuration
		// array, but they might be set by parse_url() if the configuration was
		// provided via string> Example:
		//
		// postgre://username:password@localhost:5432/database?connect_timeout=5&sslmode=1
		foreach (['connect_timeout', 'options', 'sslmode', 'service'] as $key)
		{
			if (isset($this->{$key}) && is_string($this->{$key}) && $this->{$key} !== '')
			{
				$this->DSN .= "{$key}='{$this->{$key}}' ";
			}
		}

		$this->DSN = rtrim($this->DSN);
	}
protected function buildDSN ( ) { $ this -> DSN === '' || $ this -> DSN = '' ; // If UNIX sockets are used, we shouldn't set a port if ( strpos ( $ this -> hostname , '/' ) !== false ) { $ this -> port = '' ; } $ this -> hostname === '' || $ this -> DSN = "host={$this->hostname} " ; if ( ! empty ( $ this -> port ) && ctype_digit ( $ this -> port ) ) { $ this -> DSN .= "port={$this->port} " ; } if ( $ this -> username !== '' ) { $ this -> DSN .= "user={$this->username} " ; // An empty password is valid! // password must be set to null to ignore it. $ this -> password === null || $ this -> DSN .= "password='{$this->password}' " ; } $ this -> database === '' || $ this -> DSN .= "dbname={$this->database} " ; // We don't have these options as elements in our standard configuration // array, but they might be set by parse_url() if the configuration was // provided via string> Example: // // postgre://username:password@localhost:5432/database?connect_timeout=5&sslmode=1 foreach ( [ 'connect_timeout' , 'options' , 'sslmode' , 'service' ] as $ key ) { if ( isset ( $ this -> { $ key } ) && is_string ( $ this -> { $ key } ) && $ this -> { $ key } !== '' ) { $ this -> DSN .= "{$key}='{$this->{$key}}' " ; } } $ this -> DSN = rtrim ( $ this -> DSN ) ; }
Build a DSN from the provided parameters

@return void
Build a DSN from the provided parameters