Skip to content

Commit

Permalink
drivers: add doc with possible config keys [closes #117]
Browse files Browse the repository at this point in the history
  • Loading branch information
hrach committed Oct 11, 2020
1 parent 201a4cd commit bb7cac5
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 3 deletions.
29 changes: 28 additions & 1 deletion src/Drivers/Mysqli/MysqliDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,33 @@
use function assert;


/**
* Driver for php-mysqli ext.
*
* Supported configuration options:
* - host - server name to connect, if not defined, value is taken from ini's mysqli.default_host;
* - port - port to connect, if not defined, value is taken from ini's mysqli.default_port, defaults to 3306;
* - database - db name to connect;
* - unix_socket - unix socket to connect, if not defined, value is taken from ini's mysqli.default_socket;
* - flags - int of flags accepted by Mysqli::real_connect();
* - username - username to connect;
* - password - password to connect;
* - sslKey - 0th argument of Mysqli::ssl_set();
* - sslCert - 1st argument of Mysqli::ssl_set();
* - sslCa - 2nd argument of Mysqli::ssl_set();
* - sslCapath - 3rd argument of Mysqli::ssl_set();
* - sslCipher - 4th argument of Mysqli::ssl_set();
* - charset - connection charset; for MySQL >= 5.5.3 defaults to utf8mb4, defaults to utf8 otherwise;
* - sqlMode - setup of SQL mode; possible values are:
* - "TRADITIONAL" - a default one;
* - "STRICT_TRANS_TABLES"
* - "ANSI"
* - and more - see MySQL docs.
* - connectionTz - timezone for database connection; possible values are:
* - "auto"
* - "auto-offset"
* - specific +-00:00 timezone offset;
*/
class MysqliDriver implements IDriver
{
use StrictObjectTrait;
Expand All @@ -37,7 +64,7 @@ class MysqliDriver implements IDriver
/** @var mysqli|null */
private $connection;

/** @var DateTimeZone Timezone for database connection. */
/** @var DateTimeZone */
private $connectionTz;

/** @var ILogger */
Expand Down
20 changes: 19 additions & 1 deletion src/Drivers/Pgsql/PgsqlDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,24 @@
use function is_string;


/**
* Driver for php-pgsql ext.
*
* Supported configuration options:
* - host - server name to connect;
* - port - port to connect;
* - database - db name to connect;
* - options - options for pg_connect();
* - username - username to connect;
* - password - password to connect;
* - sslmode - ssl mode for pg_connect();
* - service - service config for pg_connect();
* - searchPath - default search path for connection;
* - connectionTz - timezone for database connection; possible values are:
* - "auto"
* - "auto-offset"
* - specific +-00:00 timezone offset;
*/
class PgsqlDriver implements IDriver
{
use StrictObjectTrait;
Expand All @@ -36,7 +54,7 @@ class PgsqlDriver implements IDriver
/** @var resource|null */
private $connection;

/** @var DateTimeZone Timezone for database connection. */
/** @var DateTimeZone */
private $connectionTz;

/** @var ILogger */
Expand Down
30 changes: 29 additions & 1 deletion src/Drivers/Sqlsrv/SqlsrvDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,35 @@
use Nextras\Dbal\Utils\StrictObjectTrait;


/**
* Driver for php-sqlsrv ext available at github.com/microsoft/msphpsql.
*
* Supported configuration options:
* - host - server name to connect;
* - port - port to connect;
* - database - db name to connect;
* - username - username to connect;
* - password - password to connect;
* - other driver's config option:
* - App
* - ApplicationIntent
* - AttachDbFileName
* - CharacterSet
* - ConnectionPooling
* - Encrypt
* - Falover_Partner
* - LoginTimeout
* - MultipleActiveResultSet
* - MultiSubnetFailover
* - QuotedId
* - ReturnDatesAsStrings
* - Scrollable
* - TraceFile
* - TraceOn
* - TransactionIsolation
* - TrustServerCertificate
* - WSID
*/
class SqlsrvDriver implements IDriver
{
use StrictObjectTrait;
Expand Down Expand Up @@ -66,7 +95,6 @@ public function connect(array $params, ILogger $logger): void
'QuotedId',
'ReturnDatesAsStrings',
'Scrollable',
'Server',
'TraceFile',
'TraceOn',
'TransactionIsolation',
Expand Down

0 comments on commit bb7cac5

Please sign in to comment.