From ea343716524801e4f4433a3422bc9714681c4ff4 Mon Sep 17 00:00:00 2001 From: whwyy Date: Tue, 16 Apr 2024 17:24:22 +0800 Subject: [PATCH] eee --- Base/PDO.php | 28 +++++++++++++++++++++++++ Connection.php | 57 +++++++++++++++++++++++++------------------------- 2 files changed, 57 insertions(+), 28 deletions(-) create mode 100644 Base/PDO.php diff --git a/Base/PDO.php b/Base/PDO.php new file mode 100644 index 0000000..c722aac --- /dev/null +++ b/Base/PDO.php @@ -0,0 +1,28 @@ +database . ';host=' . $this->host, $this->username, $this->password, $this->options); + } + + +} diff --git a/Connection.php b/Connection.php index e911cd0..e5a2bce 100644 --- a/Connection.php +++ b/Connection.php @@ -21,7 +21,6 @@ use Kiri\Abstracts\Component; use Kiri\Di\Context; use Kiri\Pool\Pool; use Kiri\Events\EventProvider; -use PDO; use Kiri\Error\StdoutLogger; use Psr\Log\LoggerInterface; use Kiri\Server\Events\OnWorkerStart; @@ -29,6 +28,7 @@ use Kiri\Server\Events\OnTaskerStart; use Kiri\Server\Events\OnAfterRequest; use Kiri\Di\Inject\Container; use Swoole\Timer; +use Database\Base\PDO; /** * Class Connection @@ -37,25 +37,26 @@ use Swoole\Timer; class Connection extends Component { - public string $id = 'db'; - public string $cds = ''; - public string $password = ''; - public string $username = ''; - public string $charset = 'utf-8'; - public string $tablePrefix = ''; - public string $database = ''; - public int $timeout = 30; - public int $waite_time = 3; - public int $tick_time = 60; - public int $idle_count = 3; - public int $idle_time = 60; - public array $pool = ['max' => 10, 'min' => 1]; - private int $storey = 0; - protected int $timerId = -1; - public bool $enableCache = false; - public string $cacheDriver = 'redis'; - public array $attributes = []; - protected \Closure $_println; + public string $id = 'db'; + public string $cds = ''; + public string $password = ''; + public string $username = ''; + public string $charset = 'utf-8'; + public string $tablePrefix = ''; + public string $database = ''; + public int $timeout = 30; + public int $waite_time = 3; + public int $tick_time = 60; + public int $idle_count = 3; + public int $idle_time = 60; + public array $pool = ['max' => 10, 'min' => 1]; + private int $storey = 0; + protected int $timerId = -1; + public bool $enableCache = false; + public string $cacheDriver = 'redis'; + public array $attributes = []; + public array $slave = []; + protected ?\Closure $_println = null; /** @@ -335,14 +336,14 @@ class Connection extends Component */ public function newConnect(): PDO { - $pdo = new PDO('mysql:dbname=' . $this->database . ';host=' . $this->cds, $this->username, $this->password, [ - PDO::ATTR_CASE => PDO::CASE_NATURAL, - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL, - PDO::ATTR_STRINGIFY_FETCHES => false, - PDO::ATTR_EMULATE_PREPARES => true, - PDO::ATTR_TIMEOUT => $this->timeout, - PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . $this->charset + $pdo = new PDO($this->database, $this->cds, $this->username, $this->password, [ + \PDO::ATTR_CASE => \PDO::CASE_NATURAL, + \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, + \PDO::ATTR_ORACLE_NULLS => \PDO::NULL_NATURAL, + \PDO::ATTR_STRINGIFY_FETCHES => false, + \PDO::ATTR_EMULATE_PREPARES => true, + \PDO::ATTR_TIMEOUT => $this->timeout, + \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . $this->charset ]); foreach ($this->attributes as $key => $attribute) { $pdo->setAttribute($key, $attribute);