From 4d7c9fdd173361b4f081ec3baf9cf37a958a007d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Tue, 9 Nov 2021 10:58:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Connection.php | 13 ++++++++++++- src/DatabasesProviders.php | 18 +++++++----------- src/Mysql/Columns.php | 2 +- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/Connection.php b/src/Connection.php index 1db9c8a..f5032cf 100644 --- a/src/Connection.php +++ b/src/Connection.php @@ -108,6 +108,17 @@ class Connection extends Component } + /** + * @param $config + * @return $this + */ + public function configure($config): static + { + Kiri::configure($this, $config); + return $this; + } + + /** * @throws Exception */ @@ -141,7 +152,7 @@ class Connection extends Component * @return mixed * @throws ReflectionException * @throws NotFindClassException - * @throws \Exception + * @throws Exception */ public function getSchema(): Schema { diff --git a/src/DatabasesProviders.php b/src/DatabasesProviders.php index d72a37f..5ba79ce 100644 --- a/src/DatabasesProviders.php +++ b/src/DatabasesProviders.php @@ -6,13 +6,13 @@ namespace Database; use Annotation\Inject; use Exception; -use Server\Events\OnWorkerStart; use Kiri\Abstracts\Config; use Kiri\Abstracts\Providers; use Kiri\Application; use Kiri\Events\EventProvider; use Kiri\Exception\ConfigException; use Kiri\Kiri; +use Server\Events\OnWorkerStart; /** * Class DatabasesProviders @@ -53,11 +53,9 @@ class DatabasesProviders extends Providers */ public function get($name): Connection { - $application = Kiri::app(); - if (!$application->has('databases.' . $name)) { - $application->set('databases.' . $name, $this->_settings($this->getConfig($name))); - } - return $application->get('databases.' . $name); + $config = $this->_settings($this->getConfig($name)); + + return Kiri::getDi()->get(Connection::class)->configure($config); } @@ -71,12 +69,10 @@ class DatabasesProviders extends Providers if (empty($databases)) { return; } - $application = Kiri::app(); - foreach ($databases as $name => $database) { + $connection = Kiri::getDi()->get(Connection::class); + foreach ($databases as $database) { /** @var Connection $connection */ - $application->set('databases.' . $name, $this->_settings($database)); - $database = $application->get('databases.' . $name); - $database->fill(); + $connection->configure($database)->fill(); } } diff --git a/src/Mysql/Columns.php b/src/Mysql/Columns.php index 2d7f8a2..8dd1d2b 100644 --- a/src/Mysql/Columns.php +++ b/src/Mysql/Columns.php @@ -317,7 +317,7 @@ class Columns extends Component /** - * @param $column + * @param array $column * @param $table * @return array */