diff --git a/src/Database/Driver.php b/src/Database/Driver.php index fd48cc21883..862198314d8 100644 --- a/src/Database/Driver.php +++ b/src/Database/Driver.php @@ -316,4 +316,32 @@ public function __destruct() { $this->_connection = null; } +/** + * Returns an array that can be used to describe the internal state of this + * object. + * + * @return array + */ + public function __debugInfo() { + $secrets = [ + 'password' => '*****', + 'login' => '*****', + 'host' => '*****', + 'database' => '*****', + 'port' => '*****', + 'prefix' => '*****', + 'schema' => '*****' + ]; + $replace = array_intersect_key($secrets, $this->_config); + + return [ + '_baseConfig' => $replace + $this->_baseConfig, + '_config' => $replace + $this->_config, + '_autoQuoting' => $this->_autoQuoting, + '_startQuote' => $this->_startQuote, + '_endQuote' => $this->_endQuote, + '_schemaDialect' => get_class($this->_schemaDialect) + ]; + } + }