Class Driver
Represents a database driver containing all specificities for a database engine including its SQL dialect
Property Summary
-
$_autoQuoting protected
boolIndicates whether or not the driver is doing automatic identifier quoting for all queries
-
$_baseConfig protected
arrayBase configuration that is merged into the user supplied configuration data.
-
$_config protected
arrayConfiguration 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 deprecated
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
-
enableAutoQuoting() public
Sets whether or not this driver should automatically quote identifiers in queries.
-
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
-
isAutoQuotingEnabled() public
Returns whether or not this driver should automatically quote identifiers in queries
-
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.
-
schema() public
Returns the schema name that's being used
-
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
arrayautoQuoting() ¶ public
autoQuoting(bool|null $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|null$enable optional Whether to enable auto quoting
Returns
boolbeginTransaction() ¶ abstract public
beginTransaction(): bool
Starts a transaction
Returns
booltrue on success, false otherwise
commitTransaction() ¶ abstract public
commitTransaction(): bool
Commits a transaction
Returns
booltrue on success, false otherwise
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
arraycontaining 2 entries. The first entity is the transformed query and the second one the compiled SQL
connect() ¶ abstract public
connect(): bool
Establishes a connection to the database server
Returns
booltrue on success
connection() ¶ abstract public
connection(null|PDO $connection = null): Cake\Database\Connection
Returns correct connection resource or object that is internally used If first argument is passed,
Parameters
-
null|PDO$connection optional The connection object
Returns
Cake\Database\ConnectiondisableForeignKeySQL() ¶ abstract public
disableForeignKeySQL(): string
Get the SQL for disabling foreign keys
Returns
stringenableAutoQuoting() ¶ public
enableAutoQuoting(bool $enable = true): $this
Sets whether or not this driver should automatically quote identifiers in queries.
Parameters
-
bool$enable optional Whether to enable auto quoting
Returns
$thisenableForeignKeySQL() ¶ abstract public
enableForeignKeySQL(): string
Get the SQL for enabling foreign keys
Returns
stringenabled() ¶ abstract public
enabled(): bool
Returns whether php is able to use this driver for connecting to database
Returns
booltrue if it is valid to use this driver
isAutoQuotingEnabled() ¶ public
isAutoQuotingEnabled(): bool
Returns whether or not this driver should automatically quote identifiers in queries
Returns
boolisConnected() ¶ public
isConnected(): bool
Check whether or not the driver is connected.
Returns
boollastInsertId() ¶ public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Returns last id generated for a table or sequence in database
Parameters
-
string|null$table optional table name or sequence to get last insert value from
-
string|null$column optional the name of the column representing the primary key
Returns
string|intnewCompiler() ¶ public
newCompiler(): Cake\Database\QueryCompiler
Returns an instance of a QueryCompiler
Returns
Cake\Database\QueryCompilerprepare() ¶ 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\StatementInterfacequeryTranslator() ¶ 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
callablequote() ¶ 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
stringquoteIdentifier() ¶ 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
stringreleaseSavePointSQL() ¶ abstract public
releaseSavePointSQL(string $name): string
Get the SQL for releasing a save point.
Parameters
-
string$name The table name
Returns
stringrollbackSavePointSQL() ¶ abstract public
rollbackSavePointSQL(string $name): string
Get the SQL for rollingback a save point.
Parameters
-
string$name The table name
Returns
stringrollbackTransaction() ¶ abstract public
rollbackTransaction(): bool
Rollsback a transaction
Returns
booltrue on success, false otherwise
savePointSQL() ¶ abstract public
savePointSQL(string $name): string
Get the SQL for creating a save point.
Parameters
-
string$name The table name
Returns
stringschemaDialect() ¶ 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\BaseSchemaschemaValue() ¶ public
schemaValue(mixed $value): string
Escapes values for use in schema definitions.
Parameters
-
mixed$value The value to escape.
Returns
stringString for use in schema definitions.
supportsDynamicConstraints() ¶ abstract public
supportsDynamicConstraints(): bool
Returns whether the driver supports adding or dropping constraints to already created tables.
Returns
booltrue if driver supports dynamic constraints
supportsQuoting() ¶ public
supportsQuoting(): bool
Checks if the driver supports quoting
Returns
boolsupportsSavePoints() ¶ public
supportsSavePoints(): bool
Returns whether this driver supports save points for nested transactions
Returns
booltrue if save points are supported, false otherwise