class Connection implements IConnection

Dibi connection.

Properties

$onEvent

function (Event $event); Occurs after query is executed

int read-only $affectedRows
int read-only $insertId

Methods

__construct(array $config, string|null $name = null)

Connection options: (see driver-specific options too)

  • lazy (bool) => if true, connection will be established only when required
  • result (array) => result set options
    • normalize => normalizes result fields (default: true)
    • formatDateTime => date-time format empty for decoding as Dibi\DateTime (default) "..." formatted according to given format, see https://www.php.net/manual/en/datetime.format.php "native" for leaving value as is
    • formatTimeInterval => time-interval format empty for decoding as DateInterval (default) "..." formatted according to given format, see https://www.php.net/manual/en/dateinterval.format.php "native" for leaving value as is
    • formatJson => json format "array" for decoding json as an array (default) "object" for decoding json as \stdClass "native" for leaving value as is
  • profiler (array)
    • run (bool) => enable profiler?
    • file => file to log
    • errorsOnly (bool) => log only errors
  • substitutes (array) => map of driver specific substitutes (under development)
  • onConnect (array) => list of SQL queries to execute (by Connection::query()) after connection is established

__destruct()

Automatically frees the resources allocated for this result set.

void
connect()

Connects to a database.

void
disconnect()

Disconnects from a database.

bool
isConnected()

Returns true when connection was established.

mixed
getConfig(string|null $key = null, $default = null)

Returns configuration variable. If no $key is passed, returns the entire array.

getDriver()

Returns the driver and connects to a database in lazy mode.

query(...$args)

Generates (translates) and executes SQL query.

string
translate(mixed ...$args)

Generates SQL query.

bool
test(mixed ...$args)

Generates and prints SQL query.

dataSource(mixed ...$args)

Generates (translates) and returns SQL query as DataSource.

nativeQuery(string $sql)

Executes the SQL query.

int
getAffectedRows()

Gets the number of affected rows by the last INSERT, UPDATE or DELETE query.

int
getInsertId(string|null $sequence = null)

Retrieves the ID generated for an AUTO_INCREMENT column by the previous INSERT query.

void
begin(string|null $savepoint = null)

Begins a transaction (if supported).

void
commit(string|null $savepoint = null)

Commits statements in a transaction.

void
rollback(string|null $savepoint = null)

Rollback changes in a transaction.

mixed
transaction(callable $callback)

No description

createResultSet(ResultDriver $resultDriver)

Result set factory.

command()

No description

select(...$args)

No description

update(string|string[] $table, iterable $args)

No description

insert(string $table, iterable $args)

No description

delete(string $table)

No description

getSubstitutes()

Returns substitution hashmap.

string
substitute(string $value)

Provides substitution.

Row|null
fetch(mixed ...$args)

Executes SQL query and fetch result - shortcut for query() & fetch().

array
fetchAll(mixed ...$args)

Executes SQL query and fetch results - shortcut for query() & fetchAll().

mixed
fetchSingle(mixed ...$args)

Executes SQL query and fetch first column - shortcut for query() & fetchSingle().

array
fetchPairs(mixed ...$args)

Executes SQL query and fetch pairs - shortcut for query() & fetchPairs().

static Literal
literal(string $value)

No description

static Expression
expression(...$args)

No description

int
loadFile(string $file, callable|null $onProgress = null)

Import SQL dump from file.

getDatabaseInfo()

Gets a information about the current database.

__wakeup()

Prevents unserialization.

__sleep()

Prevents serialization.

void
onEvent($arg)

No description

Details

at line 68
__construct(array $config, string|null $name = null)

Connection options: (see driver-specific options too)

  • lazy (bool) => if true, connection will be established only when required
  • result (array) => result set options
    • normalize => normalizes result fields (default: true)
    • formatDateTime => date-time format empty for decoding as Dibi\DateTime (default) "..." formatted according to given format, see https://www.php.net/manual/en/datetime.format.php "native" for leaving value as is
    • formatTimeInterval => time-interval format empty for decoding as DateInterval (default) "..." formatted according to given format, see https://www.php.net/manual/en/dateinterval.format.php "native" for leaving value as is
    • formatJson => json format "array" for decoding json as an array (default) "object" for decoding json as \stdClass "native" for leaving value as is
  • profiler (array)
    • run (bool) => enable profiler?
    • file => file to log
    • errorsOnly (bool) => log only errors
  • substitutes (array) => map of driver specific substitutes (under development)
  • onConnect (array) => list of SQL queries to execute (by Connection::query()) after connection is established

Parameters

array $config
string|null $name

Exceptions

Exception

at line 113
__destruct()

Automatically frees the resources allocated for this result set.

at line 124
final void connect()

Connects to a database.

Return Value

void

at line 169
final void disconnect()

Disconnects from a database.

Return Value

void

at line 181
final bool isConnected()

Returns true when connection was established.

Return Value

bool

at line 191
final mixed getConfig(string|null $key = null, $default = null)

Returns configuration variable. If no $key is passed, returns the entire array.

Parameters

string|null $key
$default

Return Value

mixed

See also

self::__construct

at line 202
final Driver getDriver()

Returns the driver and connects to a database in lazy mode.

Return Value

Driver

at line 216
final Result query(...$args)

Generates (translates) and executes SQL query.

Parameters

...$args

Return Value

Result

Exceptions

Exception

at line 226
final string translate(mixed ...$args)

Generates SQL query.

Parameters

mixed ...$args

Return Value

string

Exceptions

Exception

at line 239
final bool test(mixed ...$args)

Generates and prints SQL query.

Parameters

mixed ...$args

Return Value

bool

at line 261
final DataSource dataSource(mixed ...$args)

Generates (translates) and returns SQL query as DataSource.

Parameters

mixed ...$args

Return Value

DataSource

Exceptions

Exception

at line 271
final Result nativeQuery(string $sql)

Executes the SQL query.

Parameters

string $sql

Return Value

Result

Exceptions

Exception

at line 303
int getAffectedRows()

Gets the number of affected rows by the last INSERT, UPDATE or DELETE query.

Return Value

int

Exceptions

Exception

at line 322
int getInsertId(string|null $sequence = null)

Retrieves the ID generated for an AUTO_INCREMENT column by the previous INSERT query.

Parameters

string|null $sequence

Return Value

int

Exceptions

Exception

at line 340
void begin(string|null $savepoint = null)

Begins a transaction (if supported).

Parameters

string|null $savepoint

Return Value

void

at line 369
void commit(string|null $savepoint = null)

Commits statements in a transaction.

Parameters

string|null $savepoint

Return Value

void

at line 398
void rollback(string|null $savepoint = null)

Rollback changes in a transaction.

Parameters

string|null $savepoint

Return Value

void

at line 424
mixed transaction(callable $callback)

No description

Parameters

callable $callback

Return Value

mixed

at line 454
Result createResultSet(ResultDriver $resultDriver)

Result set factory.

Parameters

ResultDriver $resultDriver

Return Value

Result

at line 464
Fluent command()

No description

Return Value

Fluent

at line 470
Fluent select(...$args)

No description

Parameters

...$args

Return Value

Fluent

at line 479
Fluent update(string|string[] $table, iterable $args)

No description

Parameters

string|string[] $table
iterable $args

Return Value

Fluent

at line 485
Fluent insert(string $table, iterable $args)

No description

Parameters

string $table
iterable $args

Return Value

Fluent

at line 496
Fluent delete(string $table)

No description

Parameters

string $table

Return Value

Fluent

at line 508
HashMap getSubstitutes()

Returns substitution hashmap.

Return Value

HashMap

at line 517
string substitute(string $value)

Provides substitution.

Parameters

string $value

Return Value

string

at line 532
Row|null fetch(mixed ...$args)

Executes SQL query and fetch result - shortcut for query() & fetch().

Parameters

mixed ...$args

Return Value

Row|null

Exceptions

Exception

at line 543
array fetchAll(mixed ...$args)

Executes SQL query and fetch results - shortcut for query() & fetchAll().

Parameters

mixed ...$args

Return Value

array

Exceptions

Exception

at line 553
mixed fetchSingle(mixed ...$args)

Executes SQL query and fetch first column - shortcut for query() & fetchSingle().

Parameters

mixed ...$args

Return Value

mixed

Exceptions

Exception

at line 563
array fetchPairs(mixed ...$args)

Executes SQL query and fetch pairs - shortcut for query() & fetchPairs().

Parameters

mixed ...$args

Return Value

array

Exceptions

Exception

at line 569
static Literal literal(string $value)

No description

Parameters

string $value

Return Value

Literal

at line 575
static Expression expression(...$args)

No description

Parameters

...$args

Return Value

Expression

at line 589
int loadFile(string $file, callable|null $onProgress = null)

Import SQL dump from file.

Parameters

string $file
callable|null $onProgress

function (int $count, ?float $percent): void

Return Value

int

count of sql commands

at line 598
Database getDatabaseInfo()

Gets a information about the current database.

Return Value

Database

at line 611
__wakeup()

Prevents unserialization.

at line 620
__sleep()

Prevents serialization.

at line 626
protected void onEvent($arg)

No description

Parameters

$arg

Return Value

void

Traits

Better OOP experience.