Class Driver
Represents a database driver containing all specificities for a database engine including its SQL dialect.
Property Summary
- 
        $_autoQuoting protectedboolIndicates whether or not the driver is doing automatic identifier quoting for all queries 
- 
        $_baseConfig protectedarrayBase configuration that is merged into the user supplied configuration data. 
- 
        $_config protectedarrayConfiguration data. 
- 
        $_connection public @propertyPDO|null
Method Summary
- 
          __construct() publicConstructor 
- 
          __debugInfo() publicReturns an array that can be used to describe the internal state of this object. 
- 
          __destruct() publicDestructor 
- 
          autoQuoting() public deprecatedReturns whether or not this driver should automatically quote identifiers in queries 
- 
          beginTransaction() abstract publicStarts a transaction 
- 
          commitTransaction() abstract publicCommits a transaction 
- 
          compileQuery() publicTransforms the passed query to this Driver's dialect and returns an instance of the transformed query and the full compiled SQL string 
- 
          connect() abstract publicEstablishes a connection to the database server 
- 
          connection() abstract publicReturns correct connection resource or object that is internally used If first argument is passed, 
- 
          disableForeignKeySQL() abstract publicGet the SQL for disabling foreign keys 
- 
          disconnect() abstract publicDisconnects from database server 
- 
          enableAutoQuoting() publicSets whether or not this driver should automatically quote identifiers in queries. 
- 
          enableForeignKeySQL() abstract publicGet the SQL for enabling foreign keys 
- 
          enabled() abstract publicReturns whether php is able to use this driver for connecting to database 
- 
          isAutoQuotingEnabled() publicReturns whether or not this driver should automatically quote identifiers in queries 
- 
          isConnected() publicCheck whether or not the driver is connected. 
- 
          lastInsertId() publicReturns last id generated for a table or sequence in database 
- 
          newCompiler() publicReturns an instance of a QueryCompiler 
- 
          prepare() abstract publicPrepares a sql statement to be executed 
- 
          queryTranslator() abstract publicReturns 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 publicReturns a value in a safe representation to be used in a query string 
- 
          quoteIdentifier() abstract publicQuotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words 
- 
          releaseSavePointSQL() abstract publicGet the SQL for releasing a save point. 
- 
          rollbackSavePointSQL() abstract publicGet the SQL for rollingback a save point. 
- 
          rollbackTransaction() abstract publicRollsback a transaction 
- 
          savePointSQL() abstract publicGet the SQL for creating a save point. 
- 
          schema() publicReturns the schema name that's being used 
- 
          schemaDialect() abstract publicGet the schema dialect. 
- 
          schemaValue() publicEscapes values for use in schema definitions. 
- 
          supportsDynamicConstraints() abstract publicReturns whether the driver supports adding or dropping constraints to already created tables. 
- 
          supportsQuoting() publicChecks if the driver supports quoting 
- 
          supportsSavePoints() publicReturns 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(): arrayReturns an array that can be used to describe the internal state of this object.
Returns
arrayautoQuoting() ¶ public
autoQuoting(bool|null $enable = null): boolReturns 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(): boolStarts a transaction
Returns
booltrue on success, false otherwise
commitTransaction() ¶ abstract public
commitTransaction(): boolCommits a transaction
Returns
booltrue on success, false otherwise
compileQuery() ¶ public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $generator): arrayTransforms 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(): boolEstablishes a connection to the database server
Returns
booltrue on success
connection() ¶ abstract public
connection(null|PDO $connection = null): PDOReturns correct connection resource or object that is internally used If first argument is passed,
Parameters
- 
                null|PDO$connection optional
- The connection object 
Returns
PDOdisableForeignKeySQL() ¶ abstract public
disableForeignKeySQL(): stringGet the SQL for disabling foreign keys
Returns
stringenableAutoQuoting() ¶ public
enableAutoQuoting(bool $enable = true): $thisSets 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(): stringGet the SQL for enabling foreign keys
Returns
stringenabled() ¶ abstract public
enabled(): boolReturns 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(): boolReturns whether or not this driver should automatically quote identifiers in queries
Returns
boolisConnected() ¶ public
isConnected(): boolCheck whether or not the driver is connected.
Returns
boollastInsertId() ¶ public
lastInsertId(string|null $table = null, string|null $column = null): string|intReturns 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\QueryCompilerReturns an instance of a QueryCompiler
Returns
Cake\Database\QueryCompilerprepare() ¶ abstract public
prepare(string|Cake\Database\Query $query): Cake\Database\StatementInterfacePrepares 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): callableReturns 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): stringReturns 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): stringQuotes 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): stringGet the SQL for releasing a save point.
Parameters
- 
                string$name
- The table name 
Returns
stringrollbackSavePointSQL() ¶ abstract public
rollbackSavePointSQL(string $name): stringGet the SQL for rollingback a save point.
Parameters
- 
                string$name
- The table name 
Returns
stringrollbackTransaction() ¶ abstract public
rollbackTransaction(): boolRollsback a transaction
Returns
booltrue on success, false otherwise
savePointSQL() ¶ abstract public
savePointSQL(string $name): stringGet the SQL for creating a save point.
Parameters
- 
                string$name
- The table name 
Returns
stringschemaDialect() ¶ abstract public
schemaDialect(): Cake\Database\Schema\BaseSchemaGet 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): stringEscapes values for use in schema definitions.
Parameters
- 
                mixed$value
- The value to escape. 
Returns
stringString for use in schema definitions.
supportsDynamicConstraints() ¶ abstract public
supportsDynamicConstraints(): boolReturns whether the driver supports adding or dropping constraints to already created tables.
Returns
booltrue if driver supports dynamic constraints
supportsQuoting() ¶ public
supportsQuoting(): boolChecks if the driver supports quoting
Returns
boolsupportsSavePoints() ¶ public
supportsSavePoints(): boolReturns whether this driver supports save points for nested transactions
Returns
booltrue if save points are supported, false otherwise
