📍 /home/diasdiamonds/public_html/vendor/cakephp/cakephp/src/Database/Driver
📝 Editando: PDODriverTrait.php
<?php /** * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) * @link https://cakephp.org CakePHP(tm) Project * @since 3.0.0 * @license https://opensource.org/licenses/mit-license.php MIT License */ namespace Cake\Database\Driver; use Cake\Database\Query; use Cake\Database\Statement\PDOStatement; use PDO; use PDOException; /** * PDO driver trait * * @deprecated 3.6.0 The methods of this trait have been added to `Driver` class. */ trait PDODriverTrait { /** * Instance of PDO. * * @var \PDO|null */ protected $_connection; /** * Establishes a connection to the database server * * @param string $dsn A Driver-specific PDO-DSN * @param array $config configuration to be used for creating connection * @return bool true on success */ protected function _connect($dsn, array $config) { $connection = new PDO( $dsn, $config['username'], $config['password'], $config['flags'] ); $this->connection($connection); return true; } /** * Returns correct connection resource or object that is internally used * If first argument is passed, it will set internal connection object or * result to the value passed * * @param null|\PDO $connection The PDO connection instance. * @return \PDO connection object used internally */ public function connection($connection = null) { if ($connection !== null) { $this->_connection = $connection; } return $this->_connection; } /** * Disconnects from database server * * @return void */ public function disconnect() { $this->_connection = null; } /** * Checks whether or not the driver is connected. * * @return bool */ public function isConnected() { if ($this->_connection === null) { $connected = false; } else { try { $connected = $this->_connection->query('SELECT 1'); } catch (PDOException $e) { $connected = false; } } return (bool)$connected; } /** * Prepares a sql statement to be executed * * @param string|\Cake\Database\Query $query The query to turn into a prepared statement. * @return \Cake\Database\StatementInterface */ public function prepare($query) { $this->connect(); $isObject = $query instanceof Query; $statement = $this->_connection->prepare($isObject ? $query->sql() : $query); return new PDOStatement($statement, $this); } /** * Starts a transaction * * @return bool true on success, false otherwise */ public function beginTransaction() { $this->connect(); if ($this->_connection->inTransaction()) { return true; } return $this->_connection->beginTransaction(); } /** * Commits a transaction * * @return bool true on success, false otherwise */ public function commitTransaction() { $this->connect(); if (!$this->_connection->inTransaction()) { return false; } return $this->_connection->commit(); } /** * Rollback a transaction * * @return bool true on success, false otherwise */ public function rollbackTransaction() { $this->connect(); if (!$this->_connection->inTransaction()) { return false; } return $this->_connection->rollback(); } /** * Returns a value in a safe representation to be used in a query string * * @param mixed $value The value to quote. * @param string $type Type to be used for determining kind of quoting to perform * @return string */ public function quote($value, $type) { $this->connect(); return $this->_connection->quote($value, $type); } /** * Returns last id generated for a table or sequence in database * * @param string|null $table table name or sequence to get last insert value from * @param string|null $column the name of the column representing the primary key * @return string|int */ public function lastInsertId($table = null, $column = null) { $this->connect(); return $this->_connection->lastInsertId($table); } /** * Checks if the driver supports quoting, as PDO_ODBC does not support it. * * @return bool */ public function supportsQuoting() { $this->connect(); return $this->_connection->getAttribute(PDO::ATTR_DRIVER_NAME) !== 'odbc'; } }
[ Cancelar ]
Nome
Permissões
Ações
[ .. Voltar ]
📄 Mysql.php
0644
[ EDITAR/VER ]
📄 PDODriverTrait.php
0644
[ EDITAR/VER ]
📄 Postgres.php
0644
[ EDITAR/VER ]
📄 Sqlite.php
0644
[ EDITAR/VER ]
📄 Sqlserver.php
0644
[ EDITAR/VER ]