Remove PDOInterface to prevent conflicts in method parameters with native PDO object
This commit is contained in:
parent
91eb8123d1
commit
8401cceb0d
@ -2,5 +2,6 @@ parameters:
|
|||||||
autoload_files:
|
autoload_files:
|
||||||
- %rootDir%/../../../tests/bootstrap.php
|
- %rootDir%/../../../tests/bootstrap.php
|
||||||
ignoreErrors:
|
ignoreErrors:
|
||||||
- '#Access to an undefined property Aviat\\\Ion\\\Friend::\$[a-zA-Z0-9_]+#'
|
- '#Access to an undefined property Query\\QueryBuilderInterface::\$[a-zA-Z0-9_]+#'
|
||||||
- '#Call to an undefined method Aviat\\\Ion\\\Friend::[a-zA-Z0-9_]+\(\)#'
|
- '#Call to an undefined method Query\\QueryBuilderInterface::[a-zA-Z0-9_]+\(\)#'
|
||||||
|
- '#Call to an undefined method Query\\Drivers\\DriverInterface::[a-zA-Z0-9_]+\(\)#'
|
||||||
|
@ -31,9 +31,9 @@ final class ConnectionManager {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Class instance variable
|
* Class instance variable
|
||||||
* @var ConnectionManager
|
* @var ConnectionManager|null
|
||||||
*/
|
*/
|
||||||
private static $instance = NULL;
|
private static $instance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private constructor to prevent multiple instances
|
* Private constructor to prevent multiple instances
|
||||||
@ -62,7 +62,7 @@ final class ConnectionManager {
|
|||||||
*/
|
*/
|
||||||
public function __sleep()
|
public function __sleep()
|
||||||
{
|
{
|
||||||
throw new DomainException("No serializing of singleton");
|
throw new DomainException('No serializing of singleton');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -112,7 +112,7 @@ final class ConnectionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// You should actually connect before trying to get a connection...
|
// You should actually connect before trying to get a connection...
|
||||||
throw new InvalidArgumentException("The specified connection does not exist");
|
throw new InvalidArgumentException('The specified connection does not exist');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -214,11 +214,6 @@ final class ConnectionManager {
|
|||||||
*/
|
*/
|
||||||
private function createDsn(string $dbtype, \stdClass $params): string
|
private function createDsn(string $dbtype, \stdClass $params): string
|
||||||
{
|
{
|
||||||
if (strtolower($dbtype) === 'pdo_firebird')
|
|
||||||
{
|
|
||||||
$dbtype = 'firebird';
|
|
||||||
}
|
|
||||||
|
|
||||||
$pairs = [];
|
$pairs = [];
|
||||||
|
|
||||||
if ( ! empty($params->database))
|
if ( ! empty($params->database))
|
||||||
|
@ -22,11 +22,10 @@ use PDOStatement;
|
|||||||
* Base Database class
|
* Base Database class
|
||||||
*
|
*
|
||||||
* Extends PDO to simplify cross-database issues
|
* Extends PDO to simplify cross-database issues
|
||||||
*
|
|
||||||
* @package Query
|
|
||||||
* @subpackage Drivers
|
|
||||||
*/
|
*/
|
||||||
abstract class AbstractDriver extends PDO implements DriverInterface {
|
abstract class AbstractDriver
|
||||||
|
extends PDO
|
||||||
|
implements DriverInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to the last executed query
|
* Reference to the last executed query
|
||||||
@ -536,11 +535,7 @@ abstract class AbstractDriver extends PDO implements DriverInterface {
|
|||||||
public function insertBatch($table, $data=[])
|
public function insertBatch($table, $data=[])
|
||||||
{
|
{
|
||||||
$data = (array) $data;
|
$data = (array) $data;
|
||||||
$firstRow = current($data);
|
$firstRow = (array) current($data);
|
||||||
if (is_scalar($firstRow))
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Values for insertion
|
// Values for insertion
|
||||||
$vals = [];
|
$vals = [];
|
||||||
|
@ -17,7 +17,7 @@ namespace Query\Drivers;
|
|||||||
/**
|
/**
|
||||||
* PDO Interface to implement for database drivers
|
* PDO Interface to implement for database drivers
|
||||||
*/
|
*/
|
||||||
interface DriverInterface extends PDOInterface {
|
interface DriverInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor/Connection method
|
* Constructor/Connection method
|
||||||
|
@ -1,146 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
/**
|
|
||||||
* Query
|
|
||||||
*
|
|
||||||
* SQL Query Builder / Database Abstraction Layer
|
|
||||||
*
|
|
||||||
* PHP version 7.1
|
|
||||||
*
|
|
||||||
* @package Query
|
|
||||||
* @author Timothy J. Warren <tim@timshomepage.net>
|
|
||||||
* @copyright 2012 - 2018 Timothy J. Warren
|
|
||||||
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
|
||||||
* @link https://git.timshomepage.net/aviat4ion/Query
|
|
||||||
*/
|
|
||||||
namespace Query\Drivers;
|
|
||||||
|
|
||||||
use PDO;
|
|
||||||
use PDOException;
|
|
||||||
use PDOStatement;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interface describing the PDO class in PHP
|
|
||||||
*/
|
|
||||||
interface PDOInterface {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a PDO instance representing a connection to a database
|
|
||||||
*
|
|
||||||
* @param string $dsn
|
|
||||||
* @param string $username
|
|
||||||
* @param string $password
|
|
||||||
* @param array $options
|
|
||||||
* @throws PDOException
|
|
||||||
*/
|
|
||||||
public function __construct($dsn, $username, $password, array $options = []);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initiates a transaction
|
|
||||||
*
|
|
||||||
* @throws PDOException
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function beginTransaction();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Commits a transaction
|
|
||||||
*
|
|
||||||
* @throws PDOException
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function commit();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fetch the SQLSTATE associated with the last operation on the database handle
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function errorCode();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fetch extended error information associated with the last operation on the database handle
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function errorInfo();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute an SQL statement and return the number of affected rows
|
|
||||||
*
|
|
||||||
* @param string $statement
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function exec($statement);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve a database connection attribute
|
|
||||||
*
|
|
||||||
* @param int $attribute
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function getAttribute($attribute);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return an array of available PDO drivers
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public static function getAvailableDrivers();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if inside a transaction
|
|
||||||
*
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function inTransaction();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns teh ID of the last inserted row or sequence value
|
|
||||||
*
|
|
||||||
* @param string $name Name of the sequence object from which the ID should be returned
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function lastInsertId($name = NULL);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prepares a statement for execution and returns a statement object
|
|
||||||
*
|
|
||||||
* @param string $statement
|
|
||||||
* @param array $options
|
|
||||||
* @return PDOStatement
|
|
||||||
*/
|
|
||||||
public function prepare($statement, $options = NULL);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Executes an SQL statement, returning a result set as a PDOStatement object
|
|
||||||
*
|
|
||||||
* @return PDOStatement
|
|
||||||
*/
|
|
||||||
public function query();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Quotes a string for use in a query
|
|
||||||
*
|
|
||||||
* @param string $string
|
|
||||||
* @param int $parameterType
|
|
||||||
* @return string|false
|
|
||||||
*/
|
|
||||||
public function quote($string, $parameterType = PDO::PARAM_STR);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Rolls back a transaction
|
|
||||||
*
|
|
||||||
* @throws PDOException
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function rollBack();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set an attribute
|
|
||||||
*
|
|
||||||
* @param int $attribute
|
|
||||||
* @param mixed $value
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function setAttribute($attribute, $value);
|
|
||||||
}
|
|
@ -24,7 +24,6 @@ use Query\Drivers\{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience class for creating sql queries
|
* Convenience class for creating sql queries
|
||||||
* @method query(mixed $sql): PDOStatement;
|
|
||||||
*/
|
*/
|
||||||
class QueryBuilder implements QueryBuilderInterface {
|
class QueryBuilder implements QueryBuilderInterface {
|
||||||
|
|
||||||
@ -274,15 +273,6 @@ class QueryBuilder implements QueryBuilderInterface {
|
|||||||
throw new BadMethodCallException('Method does not exist');
|
throw new BadMethodCallException('Method does not exist');
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// ! Driver setters
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
public function setDriver(DriverInterface $driver)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// ! Select Queries
|
// ! Select Queries
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
@ -22,7 +22,7 @@ namespace Query\Tests;
|
|||||||
abstract class BaseDriverTest extends TestCase {
|
abstract class BaseDriverTest extends TestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \Query\QueryBuilder
|
* @var \Query\QueryBuilderInterface|null
|
||||||
*/
|
*/
|
||||||
protected static $db;
|
protected static $db;
|
||||||
|
|
||||||
|
@ -21,6 +21,9 @@ use PDO;
|
|||||||
*/
|
*/
|
||||||
abstract class BaseQueryBuilderTest extends TestCase {
|
abstract class BaseQueryBuilderTest extends TestCase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \Query\QueryBuilderInterface|null
|
||||||
|
*/
|
||||||
protected static $db;
|
protected static $db;
|
||||||
|
|
||||||
public function __destruct()
|
public function __destruct()
|
||||||
|
Loading…
Reference in New Issue
Block a user