Class Driver
Represents a database diver containing all specificities for a database engine including its SQL dialect
Property Summary
-
$_autoQuoting protected
bool
Indicates whether or not the driver is doing automatic identifier quoting for all queries
-
$_baseConfig protected
array
Base configuration that is merged into the user supplied configuration data.
-
$_config protected
array
Configuration data.
Method Summary
-
__construct() public
Constructor
-
__debugInfo() public
Returns an array that can be used to describe the internal state of this object.
-
__destruct() public
Destructor
-
autoQuoting() public
Returns whether or not this driver should automatically quote identifiers in queries
-
beginTransaction() abstract public
Starts a transaction
-
commitTransaction() abstract public
Commits a transaction
-
compileQuery() public
Transforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string
-
connect() abstract public
Establishes a connection to the database server
-
connection() abstract public
Returns correct connection resource or object that is internally used If first argument is passed,
-
disableForeignKeySQL() abstract public
Get the SQL for disabling foreign keys
-
disconnect() abstract public
Disconnects from database server
-
enableForeignKeySQL() abstract public
Get the SQL for enabling foreign keys
-
enabled() abstract public
Returns whether php is able to use this driver for connecting to database
-
isConnected() public
Check whether or not the driver is connected.
-
lastInsertId() public
Returns last id generated for a table or sequence in database
-
newCompiler() public
Returns an instance of a QueryCompiler
-
prepare() abstract public
Prepares a sql statement to be executed
-
queryTranslator() abstract public
Returns a callable function that will be used to transform a passed Query object. This function, in turn, will return an instance of a Query object that has been transformed to accommodate any specificities of the SQL dialect in use.
-
quote() abstract public
Returns a value in a safe representation to be used in a query string
-
quoteIdentifier() abstract public
Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words
-
releaseSavePointSQL() abstract public
Get the SQL for releasing a save point.
-
rollbackSavePointSQL() abstract public
Get the SQL for rollingback a save point.
-
rollbackTransaction() abstract public
Rollsback a transaction
-
savePointSQL() abstract public
Get the SQL for creating a save point.
-
schemaDialect() abstract public
Get the schema dialect.
-
schemaValue() public
Escapes values for use in schema definitions.
-
supportsDynamicConstraints() abstract public
Returns whether the driver supports adding or dropping constraints to already created tables.
-
supportsQuoting() public
Checks if the driver supports quoting
-
supportsSavePoints() public
Returns whether this driver supports save points for nested transactions
Method Detail
__construct() ¶ public
__construct(array $config = [])
Constructor
Parameters
-
array
$config optional The configuration for the driver.
Throws
InvalidArgumentException
__debugInfo() ¶ public
__debugInfo(): array
Returns an array that can be used to describe the internal state of this object.
Returns
array
autoQuoting() ¶ public
autoQuoting(bool $enable = null): bool
Returns whether or not this driver should automatically quote identifiers in queries
If called with a boolean argument, it will toggle the auto quoting setting to the passed value
Parameters
-
bool
$enable optional whether to enable auto quoting
Returns
bool
compileQuery() ¶ public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $generator): array
Transforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string
Parameters
-
Cake\Database\Query
$query The query to compile.
-
Cake\Database\ValueBinder
$generator The value binder to use.
Returns
array
connect() ¶ abstract public
connect(): bool
Establishes a connection to the database server
Returns
bool
connection() ¶ abstract public
connection(null|PDO $connection = null): void
Returns correct connection resource or object that is internally used If first argument is passed,
Parameters
-
null|PDO
$connection optional The connection object
Returns
void
disableForeignKeySQL() ¶ abstract public
disableForeignKeySQL(): string
Get the SQL for disabling foreign keys
Returns
string
enableForeignKeySQL() ¶ abstract public
enableForeignKeySQL(): string
Get the SQL for enabling foreign keys
Returns
string
enabled() ¶ abstract public
enabled(): bool
Returns whether php is able to use this driver for connecting to database
Returns
bool
isConnected() ¶ public
isConnected(): bool
Check whether or not the driver is connected.
Returns
bool
lastInsertId() ¶ public
lastInsertId(string $table = null, string $column = null): string|int
Returns last id generated for a table or sequence in database
Parameters
-
string
$table optional table name or sequence to get last insert value from
-
string
$column optional the name of the column representing the primary key
Returns
string|int
newCompiler() ¶ public
newCompiler(): Cake\Database\QueryCompiler
Returns an instance of a QueryCompiler
Returns
Cake\Database\QueryCompiler
prepare() ¶ abstract public
prepare(string|Cake\Database\Query $query): Cake\Database\StatementInterface
Prepares a sql statement to be executed
Parameters
-
string|Cake\Database\Query
$query The query to convert into a statement.
Returns
Cake\Database\StatementInterface
queryTranslator() ¶ abstract public
queryTranslator(string $type): callable
Returns a callable function that will be used to transform a passed Query object. This function, in turn, will return an instance of a Query object that has been transformed to accommodate any specificities of the SQL dialect in use.
Parameters
-
string
$type the type of query to be transformed (select, insert, update, delete)
Returns
callable
quote() ¶ abstract public
quote(mixed $value, string $type): string
Returns a value in a safe representation to be used in a query string
Parameters
-
mixed
$value The value to quote.
-
string
$type Type to be used for determining kind of quoting to perform
Returns
string
quoteIdentifier() ¶ abstract public
quoteIdentifier(string $identifier): string
Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words
Parameters
-
string
$identifier The identifier expression to quote.
Returns
string
releaseSavePointSQL() ¶ abstract public
releaseSavePointSQL(string $name): string
Get the SQL for releasing a save point.
Parameters
-
string
$name The table name
Returns
string
rollbackSavePointSQL() ¶ abstract public
rollbackSavePointSQL(string $name): string
Get the SQL for rollingback a save point.
Parameters
-
string
$name The table name
Returns
string
rollbackTransaction() ¶ abstract public
rollbackTransaction(): bool
Rollsback a transaction
Returns
bool
savePointSQL() ¶ abstract public
savePointSQL(string $name): string
Get the SQL for creating a save point.
Parameters
-
string
$name The table name
Returns
string
schemaDialect() ¶ abstract public
schemaDialect(): Cake\Database\Schema\BaseSchema
Get the schema dialect.
Used by Cake\Database\Schema package to reflect schema and generate schema.
If all the tables that use this Driver specify their own schemas, then this may return null.
Returns
Cake\Database\Schema\BaseSchema
schemaValue() ¶ public
schemaValue(mixed $value): string
Escapes values for use in schema definitions.
Parameters
-
mixed
$value The value to escape.
Returns
string
supportsDynamicConstraints() ¶ abstract public
supportsDynamicConstraints(): bool
Returns whether the driver supports adding or dropping constraints to already created tables.
Returns
bool
supportsQuoting() ¶ public
supportsQuoting(): bool
Checks if the driver supports quoting
Returns
bool
supportsSavePoints() ¶ public
supportsSavePoints(): bool
Returns whether this driver supports save points for nested transactions
Returns
bool