Class Driver
Represents a database diver 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
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.
 - 
          
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 con success
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
voiddisableForeignKeySQL() ¶ abstract public
disableForeignKeySQL(): string
      Get the SQL for disabling foreign keys
Returns
stringenableForeignKeySQL() ¶ 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
isConnected() ¶ 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