CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.6 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.6
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
      • Driver
      • Exception
      • Expression
      • Log
      • Query
      • Retry
      • Schema
      • Statement
      • Type
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class Driver

Represents a database driver containing all specificities for a database engine including its SQL dialect.

Abstract
Namespace: Cake\Database

Constants

  • string
    FEATURE_CTE ¶
    'cte'

    Common Table Expressions (with clause) support.

  • string
    FEATURE_DISABLE_CONSTRAINT_WITHOUT_TRANSACTION ¶
    'disable-constraint-without-transaction'

    Disabling constraints without being in transaction support.

  • string
    FEATURE_JSON ¶
    'json'

    Native JSON data type support.

  • string
    FEATURE_QUOTE ¶
    'quote'

    PDO::quote() support.

  • string
    FEATURE_SAVEPOINT ¶
    'savepoint'

    Transaction savepoint support.

  • string
    FEATURE_TRUNCATE_WITH_CONSTRAINTS ¶
    'truncate-with-constraints'

    Truncate with foreign keys attached support.

  • string
    FEATURE_WINDOW ¶
    'window'

    Window function support (all or partial clauses).

  • int|null
    MAX_ALIAS_LENGTH ¶
    null
  • array<int>
    RETRY_ERROR_CODES ¶
    []

Property Summary

  • $_autoQuoting protected
    bool

    Indicates whether the driver is doing automatic identifier quoting for all queries

  • $_baseConfig protected
    array<string, mixed>

    Base configuration that is merged into the user supplied configuration data.

  • $_config protected
    array<string, mixed>

    Configuration data.

  • $_connection protected
    PDO

    Instance of PDO.

  • $_version protected
    string|null

    The server version

  • $connectRetries protected
    int

    The last number of connection retry attempts.

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

  • _connect() protected

    Establishes a connection to the database server

  • beginTransaction() public

    Starts a transaction.

  • commitTransaction() 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.

  • config() public

    Get the configuration data used to create the driver.

  • connect() abstract public

    Establishes a connection to the database server.

  • disableAutoQuoting() public

    Disable auto quoting of identifiers in queries.

  • disableForeignKeySQL() public

    Get the SQL for disabling foreign keys.

  • disconnect() public

    Disconnects from database server.

  • enableAutoQuoting() public

    Sets whether this driver should automatically quote identifiers in queries.

  • enableForeignKeySQL() public

    Get the SQL for enabling foreign keys.

  • enabled() abstract public

    Returns whether php is able to use this driver for connecting to database.

  • getConnectRetries() public

    Returns the number of connection retry attempts made.

  • getConnection() public

    Get the internal PDO connection instance.

  • getMaxAliasLength() public

    Returns the maximum alias length allowed. This can be different from the maximum identifier length for columns.

  • getRole() public

    Returns the connection role this driver performs.

  • inTransaction() public

    Returns whether a transaction is active for connection.

  • isAutoQuotingEnabled() public

    Returns whether this driver should automatically quote identifiers in queries.

  • isConnected() public

    Checks whether 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.

  • newTableSchema() public

    Constructs new TableSchema.

  • prepare() 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() 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() public

    Get the SQL for releasing a save point.

  • rollbackSavePointSQL() public

    Get the SQL for rollingback a save point.

  • rollbackTransaction() public

    Rollbacks a transaction.

  • savePointSQL() 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.

  • setConnection() public

    Set the internal PDO connection instance.

  • supports() public

    Returns whether the driver supports the feature.

  • supportsCTEs() public deprecated

    Returns true if the server supports common table expressions.

  • supportsDynamicConstraints() public deprecated

    Returns whether the driver supports adding or dropping constraints to already created tables.

  • supportsQuoting() public deprecated

    Checks if the driver supports quoting, as PDO_ODBC does not support it.

  • supportsSavePoints() public

    Returns whether this driver supports save points for nested transactions.

  • version() public

    Returns connected server version.

Method Detail

__construct() ¶ public

__construct(array<string, mixed> $config = [])

Constructor

Parameters
array<string, mixed> $config optional

The configuration for the driver.

Throws
InvalidArgumentException

__debugInfo() ¶ public

__debugInfo(): array<string, mixed>

Returns an array that can be used to describe the internal state of this object.

Returns
array<string, mixed>

__destruct() ¶ public

__destruct()

Destructor

_connect() ¶ protected

_connect(string $dsn, array<string, mixed> $config): bool

Establishes a connection to the database server

Parameters
string $dsn

A Driver-specific PDO-DSN

array<string, mixed> $config

configuration to be used for creating connection

Returns
bool

beginTransaction() ¶ public

beginTransaction(): bool

Starts a transaction.

Returns
bool

commitTransaction() ¶ public

commitTransaction(): bool

Commits a transaction.

Returns
bool

compileQuery() ¶ public

compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): 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
Cake\Database\ValueBinder $binder
Returns
array

config() ¶ public

config(): array<string, mixed>

Get the configuration data used to create the driver.

Returns
array<string, mixed>

connect() ¶ abstract public

connect(): bool

Establishes a connection to the database server.

Returns
bool

disableAutoQuoting() ¶ public

disableAutoQuoting(): $this

Disable auto quoting of identifiers in queries.

Returns
$this

disableForeignKeySQL() ¶ public

disableForeignKeySQL(): string

Get the SQL for disabling foreign keys.

Returns
string

disconnect() ¶ public

disconnect(): void

Disconnects from database server.

Returns
void

enableAutoQuoting() ¶ public

enableAutoQuoting(bool $enable = true): $this

Sets whether this driver should automatically quote identifiers in queries.

Parameters
bool $enable optional
Returns
$this

enableForeignKeySQL() ¶ 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

getConnectRetries() ¶ public

getConnectRetries(): int

Returns the number of connection retry attempts made.

Returns
int

getConnection() ¶ public

getConnection(): PDO

Get the internal PDO connection instance.

Returns
PDO

getMaxAliasLength() ¶ public

getMaxAliasLength(): int|null

Returns the maximum alias length allowed. This can be different from the maximum identifier length for columns.

Returns
int|null

getRole() ¶ public

getRole(): string

Returns the connection role this driver performs.

Returns
string

inTransaction() ¶ public

inTransaction(): bool

Returns whether a transaction is active for connection.

Returns
bool

isAutoQuotingEnabled() ¶ public

isAutoQuotingEnabled(): bool

Returns whether this driver should automatically quote identifiers in queries.

Returns
bool

isConnected() ¶ public

isConnected(): bool

Checks whether the driver is connected.

Returns
bool

lastInsertId() ¶ 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
string|null $column optional
Returns
string|int

newCompiler() ¶ public

newCompiler(): Cake\Database\QueryCompiler

Returns an instance of a QueryCompiler.

Returns
Cake\Database\QueryCompiler

newTableSchema() ¶ public

newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchema

Constructs new TableSchema.

Parameters
string $table
array $columns optional
Returns
Cake\Database\Schema\TableSchema

prepare() ¶ public

prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface

Prepares a sql statement to be executed.

Parameters
Cake\Database\Query|string $query
Returns
Cake\Database\StatementInterface

queryTranslator() ¶ abstract public

queryTranslator(string $type): Closure

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
Returns
Closure

quote() ¶ public

quote(mixed $value, int $type = PDO::PARAM_STR): string

Returns a value in a safe representation to be used in a query string

Parameters
mixed $value
int $type optional
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
Returns
string

releaseSavePointSQL() ¶ public

releaseSavePointSQL(string|int $name): string

Get the SQL for releasing a save point.

Parameters
string|int $name

Save point name or id

Returns
string

rollbackSavePointSQL() ¶ public

rollbackSavePointSQL(string|int $name): string

Get the SQL for rollingback a save point.

Parameters
string|int $name

Save point name or id

Returns
string

rollbackTransaction() ¶ public

rollbackTransaction(): bool

Rollbacks a transaction.

Returns
bool

savePointSQL() ¶ public

savePointSQL(string|int $name): string

Get the SQL for creating a save point.

Parameters
string|int $name

Save point name or id

Returns
string

schema() ¶ public

schema(): string

Returns the schema name that's being used.

Returns
string

schemaDialect() ¶ abstract public

schemaDialect(): Cake\Database\Schema\SchemaDialect

Get the schema dialect.

Used by {@link \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\SchemaDialect

schemaValue() ¶ public

schemaValue(mixed $value): string

Escapes values for use in schema definitions.

Parameters
mixed $value
Returns
string

setConnection() ¶ public

setConnection(object $connection): $this

Set the internal PDO connection instance.

Parameters
object $connection

PDO instance.

Returns
$this

supports() ¶ public

supports(string $feature): bool

Returns whether the driver supports the feature.

Defaults to true for FEATURE_QUOTE and FEATURE_SAVEPOINT.

Parameters
string $feature

Driver feature name

Returns
bool

supportsCTEs() ¶ public

supportsCTEs(): bool

Returns true if the server supports common table expressions.

Returns
bool

supportsDynamicConstraints() ¶ 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, as PDO_ODBC does not support it.

Returns
bool

supportsSavePoints() ¶ public

supportsSavePoints(): bool

Returns whether this driver supports save points for nested transactions.

Returns
bool

version() ¶ public

version(): string

Returns connected server version.

Returns
string

Property Detail

$_autoQuoting ¶ protected

Indicates whether the driver is doing automatic identifier quoting for all queries

Type
bool

$_baseConfig ¶ protected

Base configuration that is merged into the user supplied configuration data.

Type
array<string, mixed>

$_config ¶ protected

Configuration data.

Type
array<string, mixed>

$_connection ¶ protected

Instance of PDO.

Type
PDO

$_version ¶ protected

The server version

Type
string|null

$connectRetries ¶ protected

The last number of connection retry attempts.

Type
int
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs