From ef3e874c0cd185ab794bbcdf5df7a833d2b02dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Sat, 8 Jan 2022 18:49:06 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"=E6=94=B9=E5=90=8D"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit fdf58326 --- src/ActiveQuery.php => ActiveQuery.php | 0 {src/Affair => Affair}/BeginTransaction.php | 0 {src/Affair => Affair}/Commit.php | 0 {src/Affair => Affair}/Rollback.php | 0 {src/Note => Annotation}/Get.php | 6 ++-- {src/Note => Annotation}/Relation.php | 6 ++-- {src/Note => Annotation}/Set.php | 4 +-- {src/Base => Base}/AbstractCollection.php | 0 {src/Base => Base}/CollectionIterator.php | 0 {src/Base => Base}/ConditionClassMap.php | 0 {src/Base => Base}/Getter.php | 0 {src/Base => Base}/Model.php | 14 ++++---- {src/Base => Base}/Relate.php | 0 {src/Base => Base}/Setter.php | 0 src/Collection.php => Collection.php | 0 src/Command.php => Command.php | 0 .../BetweenCondition.php | 0 .../ChildCondition.php | 0 {src/Condition => Condition}/Condition.php | 0 .../DefaultCondition.php | 0 .../Condition => Condition}/HashCondition.php | 0 {src/Condition => Condition}/InCondition.php | 0 .../Condition => Condition}/JsonCondition.php | 0 .../LLikeCondition.php | 0 .../Condition => Condition}/LikeCondition.php | 0 .../MathematicsCondition.php | 0 .../NotBetweenCondition.php | 0 .../NotInCondition.php | 0 .../NotLikeCondition.php | 0 {src/Condition => Condition}/OrCondition.php | 0 .../RLikeCondition.php | 0 src/Connection.php => Connection.php | 25 ++----------- ...sesProviders.php => DatabasesProviders.php | 36 ++++++------------- src/Db.php => Db.php | 0 src/HasCount.php => HasCount.php | 0 src/HasMany.php => HasMany.php | 0 src/HasOne.php => HasOne.php | 0 src/ISqlBuilder.php => ISqlBuilder.php | 0 src/Model.php => Model.php | 0 src/ModelInterface.php => ModelInterface.php | 0 {src/Mysql => Mysql}/Columns.php | 0 {src/Mysql => Mysql}/PDO.php | 0 {src/Mysql => Mysql}/Schema.php | 0 {src/Orm => Orm}/Condition.php | 0 src/Pagination.php => Pagination.php | 0 src/Query.php => Query.php | 0 src/Relation.php => Relation.php | 0 src/SqlBuilder.php => SqlBuilder.php | 0 {src/Traits => Traits}/Builder.php | 0 {src/Traits => Traits}/HasBase.php | 0 {src/Traits => Traits}/QueryTrait.php | 2 +- {src/Traits => Traits}/Relation.php | 0 {src/Traits => Traits}/When.php | 0 composer.json | 2 +- src/TestModel.php | 26 -------------- 55 files changed, 29 insertions(+), 92 deletions(-) rename src/ActiveQuery.php => ActiveQuery.php (100%) rename {src/Affair => Affair}/BeginTransaction.php (100%) rename {src/Affair => Affair}/Commit.php (100%) rename {src/Affair => Affair}/Rollback.php (100%) rename {src/Note => Annotation}/Get.php (80%) rename {src/Note => Annotation}/Relation.php (85%) rename {src/Note => Annotation}/Set.php (90%) rename {src/Base => Base}/AbstractCollection.php (100%) rename {src/Base => Base}/CollectionIterator.php (100%) rename {src/Base => Base}/ConditionClassMap.php (100%) rename {src/Base => Base}/Getter.php (100%) rename {src/Base => Base}/Model.php (97%) rename {src/Base => Base}/Relate.php (100%) rename {src/Base => Base}/Setter.php (100%) rename src/Collection.php => Collection.php (100%) rename src/Command.php => Command.php (100%) rename {src/Condition => Condition}/BetweenCondition.php (100%) rename {src/Condition => Condition}/ChildCondition.php (100%) rename {src/Condition => Condition}/Condition.php (100%) rename {src/Condition => Condition}/DefaultCondition.php (100%) rename {src/Condition => Condition}/HashCondition.php (100%) rename {src/Condition => Condition}/InCondition.php (100%) rename {src/Condition => Condition}/JsonCondition.php (100%) rename {src/Condition => Condition}/LLikeCondition.php (100%) rename {src/Condition => Condition}/LikeCondition.php (100%) rename {src/Condition => Condition}/MathematicsCondition.php (100%) rename {src/Condition => Condition}/NotBetweenCondition.php (100%) rename {src/Condition => Condition}/NotInCondition.php (100%) rename {src/Condition => Condition}/NotLikeCondition.php (100%) rename {src/Condition => Condition}/OrCondition.php (100%) rename {src/Condition => Condition}/RLikeCondition.php (100%) rename src/Connection.php => Connection.php (94%) rename src/DatabasesProviders.php => DatabasesProviders.php (70%) rename src/Db.php => Db.php (100%) rename src/HasCount.php => HasCount.php (100%) rename src/HasMany.php => HasMany.php (100%) rename src/HasOne.php => HasOne.php (100%) rename src/ISqlBuilder.php => ISqlBuilder.php (100%) rename src/Model.php => Model.php (100%) rename src/ModelInterface.php => ModelInterface.php (100%) rename {src/Mysql => Mysql}/Columns.php (100%) rename {src/Mysql => Mysql}/PDO.php (100%) rename {src/Mysql => Mysql}/Schema.php (100%) rename {src/Orm => Orm}/Condition.php (100%) rename src/Pagination.php => Pagination.php (100%) rename src/Query.php => Query.php (100%) rename src/Relation.php => Relation.php (100%) rename src/SqlBuilder.php => SqlBuilder.php (100%) rename {src/Traits => Traits}/Builder.php (100%) rename {src/Traits => Traits}/HasBase.php (100%) rename {src/Traits => Traits}/QueryTrait.php (99%) rename {src/Traits => Traits}/Relation.php (100%) rename {src/Traits => Traits}/When.php (100%) delete mode 100644 src/TestModel.php diff --git a/src/ActiveQuery.php b/ActiveQuery.php similarity index 100% rename from src/ActiveQuery.php rename to ActiveQuery.php diff --git a/src/Affair/BeginTransaction.php b/Affair/BeginTransaction.php similarity index 100% rename from src/Affair/BeginTransaction.php rename to Affair/BeginTransaction.php diff --git a/src/Affair/Commit.php b/Affair/Commit.php similarity index 100% rename from src/Affair/Commit.php rename to Affair/Commit.php diff --git a/src/Affair/Rollback.php b/Affair/Rollback.php similarity index 100% rename from src/Affair/Rollback.php rename to Affair/Rollback.php diff --git a/src/Note/Get.php b/Annotation/Get.php similarity index 80% rename from src/Note/Get.php rename to Annotation/Get.php index c902c6f..e1c6e68 100644 --- a/src/Note/Get.php +++ b/Annotation/Get.php @@ -1,7 +1,7 @@ getNote(); + $an = Kiri::app()->getAnnotation(); $an->injectProperty($this); } @@ -429,7 +429,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T */ public function getConnection(): Connection { - return Kiri::app()->get('db')->get($this->connection); + return Kiri::app()->get($this->connection); } @@ -679,8 +679,8 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T */ public function getAttribute(string $name) { - if ($this->hasNote($name)) { - return $this->runNote($name, $this->_attributes[$name]); + if ($this->hasAnnotation($name)) { + return $this->runAnnotation($name, $this->_attributes[$name]); } return $this->_attributes[$name] ?? NULL; } @@ -692,7 +692,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T * @param string $type * @return mixed */ - protected function runNote(string $name, mixed $value, string $type = self::GET): mixed + protected function runAnnotation(string $name, mixed $value, string $type = self::GET): mixed { return call_user_func($this->_annotations[$type][$name], $value); } @@ -919,7 +919,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T * @param string $type * @return array */ - protected function getNote(string $type = self::GET): array + protected function getAnnotation(string $type = self::GET): array { return $this->_annotations[$type] ?? []; } @@ -930,7 +930,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T * @param string $type * @return bool */ - protected function hasNote($name, string $type = self::GET): bool + protected function hasAnnotation($name, string $type = self::GET): bool { if (!isset($this->_annotations[$type])) { return FALSE; diff --git a/src/Base/Relate.php b/Base/Relate.php similarity index 100% rename from src/Base/Relate.php rename to Base/Relate.php diff --git a/src/Base/Setter.php b/Base/Setter.php similarity index 100% rename from src/Base/Setter.php rename to Base/Setter.php diff --git a/src/Collection.php b/Collection.php similarity index 100% rename from src/Collection.php rename to Collection.php diff --git a/src/Command.php b/Command.php similarity index 100% rename from src/Command.php rename to Command.php diff --git a/src/Condition/BetweenCondition.php b/Condition/BetweenCondition.php similarity index 100% rename from src/Condition/BetweenCondition.php rename to Condition/BetweenCondition.php diff --git a/src/Condition/ChildCondition.php b/Condition/ChildCondition.php similarity index 100% rename from src/Condition/ChildCondition.php rename to Condition/ChildCondition.php diff --git a/src/Condition/Condition.php b/Condition/Condition.php similarity index 100% rename from src/Condition/Condition.php rename to Condition/Condition.php diff --git a/src/Condition/DefaultCondition.php b/Condition/DefaultCondition.php similarity index 100% rename from src/Condition/DefaultCondition.php rename to Condition/DefaultCondition.php diff --git a/src/Condition/HashCondition.php b/Condition/HashCondition.php similarity index 100% rename from src/Condition/HashCondition.php rename to Condition/HashCondition.php diff --git a/src/Condition/InCondition.php b/Condition/InCondition.php similarity index 100% rename from src/Condition/InCondition.php rename to Condition/InCondition.php diff --git a/src/Condition/JsonCondition.php b/Condition/JsonCondition.php similarity index 100% rename from src/Condition/JsonCondition.php rename to Condition/JsonCondition.php diff --git a/src/Condition/LLikeCondition.php b/Condition/LLikeCondition.php similarity index 100% rename from src/Condition/LLikeCondition.php rename to Condition/LLikeCondition.php diff --git a/src/Condition/LikeCondition.php b/Condition/LikeCondition.php similarity index 100% rename from src/Condition/LikeCondition.php rename to Condition/LikeCondition.php diff --git a/src/Condition/MathematicsCondition.php b/Condition/MathematicsCondition.php similarity index 100% rename from src/Condition/MathematicsCondition.php rename to Condition/MathematicsCondition.php diff --git a/src/Condition/NotBetweenCondition.php b/Condition/NotBetweenCondition.php similarity index 100% rename from src/Condition/NotBetweenCondition.php rename to Condition/NotBetweenCondition.php diff --git a/src/Condition/NotInCondition.php b/Condition/NotInCondition.php similarity index 100% rename from src/Condition/NotInCondition.php rename to Condition/NotInCondition.php diff --git a/src/Condition/NotLikeCondition.php b/Condition/NotLikeCondition.php similarity index 100% rename from src/Condition/NotLikeCondition.php rename to Condition/NotLikeCondition.php diff --git a/src/Condition/OrCondition.php b/Condition/OrCondition.php similarity index 100% rename from src/Condition/OrCondition.php rename to Condition/OrCondition.php diff --git a/src/Condition/RLikeCondition.php b/Condition/RLikeCondition.php similarity index 100% rename from src/Condition/RLikeCondition.php rename to Condition/RLikeCondition.php diff --git a/src/Connection.php b/Connection.php similarity index 94% rename from src/Connection.php rename to Connection.php index 80e152e..152b775 100644 --- a/src/Connection.php +++ b/Connection.php @@ -22,7 +22,7 @@ use Kiri\Abstracts\Config; use Kiri\Events\EventProvider; use Kiri\Exception\NotFindClassException; use Kiri\Kiri; -use Note\Inject; +use Kiri\Annotation\Inject; use ReflectionException; use Server\Events\OnWorkerExit; use Server\Events\OnWorkerStop; @@ -68,11 +68,7 @@ class Connection extends Component public array $attributes = []; - /** - * @var Schema - */ - #[Inject(Schema::class)] - public Schema $_schema; + private ?Schema $_schema = null; /** @@ -86,12 +82,6 @@ class Connection extends Component $this->eventProvider->on(BeginTransaction::class, [$this, 'beginTransaction'], 0); $this->eventProvider->on(Rollback::class, [$this, 'rollback'], 0); $this->eventProvider->on(Commit::class, [$this, 'commit'], 0); - - if (Db::transactionsActive()) { - $this->beginTransaction(); - } - - $this->_schema->db = $this; } @@ -106,17 +96,6 @@ class Connection extends Component } - /** - * @param $config - * @return $this - */ - public function configure($config): static - { - Kiri::configure($this, $config); - return $this; - } - - /** * @throws Exception */ diff --git a/src/DatabasesProviders.php b/DatabasesProviders.php similarity index 70% rename from src/DatabasesProviders.php rename to DatabasesProviders.php index 6f01445..4d72513 100644 --- a/src/DatabasesProviders.php +++ b/DatabasesProviders.php @@ -8,7 +8,6 @@ use Exception; 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; @@ -20,8 +19,6 @@ use Server\Events\OnWorkerStart; class DatabasesProviders extends Providers { - private array $_pooLength = ['min' => 0, 'max' => 1]; - /** * @param Application $application @@ -29,10 +26,6 @@ class DatabasesProviders extends Providers */ public function onImport(Application $application) { - $application->set('db', $this); - - $this->_pooLength = Config::get('databases.pool', ['min' => 0, 'max' => 1]); - $this->eventProvider->on(OnWorkerStart::class, [$this, 'createPool']); } @@ -40,14 +33,11 @@ class DatabasesProviders extends Providers /** * @param $name * @return Connection - * @throws ConfigException * @throws Exception */ public function get($name): Connection { - $config = $this->_settings($this->getConfig($name)); - - return Kiri::getDi()->get(Connection::class)->configure($config); + return Kiri::app()->get($name); } @@ -61,10 +51,15 @@ class DatabasesProviders extends Providers if (empty($databases)) { return; } - $connection = Kiri::getDi()->get(Connection::class); - foreach ($databases as $database) { - /** @var Connection $connection */ - $connection->configure($database)->fill(); + + $app = Kiri::app(); + foreach ($databases as $key => $database) { + $database = $this->_settings($database); + + $connection = Kiri::getDi()->create(Connection::class, $database); + $connection->fill(); + + $app->set($key, $connection); } } @@ -93,15 +88,4 @@ class DatabasesProviders extends Providers } - /** - * @param $name - * @return mixed - * @throws ConfigException - */ - public function getConfig($name): mixed - { - return Config::get('databases.connections.' . $name, null, true); - } - - } diff --git a/src/Db.php b/Db.php similarity index 100% rename from src/Db.php rename to Db.php diff --git a/src/HasCount.php b/HasCount.php similarity index 100% rename from src/HasCount.php rename to HasCount.php diff --git a/src/HasMany.php b/HasMany.php similarity index 100% rename from src/HasMany.php rename to HasMany.php diff --git a/src/HasOne.php b/HasOne.php similarity index 100% rename from src/HasOne.php rename to HasOne.php diff --git a/src/ISqlBuilder.php b/ISqlBuilder.php similarity index 100% rename from src/ISqlBuilder.php rename to ISqlBuilder.php diff --git a/src/Model.php b/Model.php similarity index 100% rename from src/Model.php rename to Model.php diff --git a/src/ModelInterface.php b/ModelInterface.php similarity index 100% rename from src/ModelInterface.php rename to ModelInterface.php diff --git a/src/Mysql/Columns.php b/Mysql/Columns.php similarity index 100% rename from src/Mysql/Columns.php rename to Mysql/Columns.php diff --git a/src/Mysql/PDO.php b/Mysql/PDO.php similarity index 100% rename from src/Mysql/PDO.php rename to Mysql/PDO.php diff --git a/src/Mysql/Schema.php b/Mysql/Schema.php similarity index 100% rename from src/Mysql/Schema.php rename to Mysql/Schema.php diff --git a/src/Orm/Condition.php b/Orm/Condition.php similarity index 100% rename from src/Orm/Condition.php rename to Orm/Condition.php diff --git a/src/Pagination.php b/Pagination.php similarity index 100% rename from src/Pagination.php rename to Pagination.php diff --git a/src/Query.php b/Query.php similarity index 100% rename from src/Query.php rename to Query.php diff --git a/src/Relation.php b/Relation.php similarity index 100% rename from src/Relation.php rename to Relation.php diff --git a/src/SqlBuilder.php b/SqlBuilder.php similarity index 100% rename from src/SqlBuilder.php rename to SqlBuilder.php diff --git a/src/Traits/Builder.php b/Traits/Builder.php similarity index 100% rename from src/Traits/Builder.php rename to Traits/Builder.php diff --git a/src/Traits/HasBase.php b/Traits/HasBase.php similarity index 100% rename from src/Traits/HasBase.php rename to Traits/HasBase.php diff --git a/src/Traits/QueryTrait.php b/Traits/QueryTrait.php similarity index 99% rename from src/Traits/QueryTrait.php rename to Traits/QueryTrait.php index 15821f1..f6a3674 100644 --- a/src/Traits/QueryTrait.php +++ b/Traits/QueryTrait.php @@ -195,7 +195,7 @@ trait QueryTrait * @param string $column * @return $this */ - public function whereNotEmpty(string $column): static + public function whereAnnotationmpty(string $column): static { $this->where[] = $column . ' <> \'\''; return $this; diff --git a/src/Traits/Relation.php b/Traits/Relation.php similarity index 100% rename from src/Traits/Relation.php rename to Traits/Relation.php diff --git a/src/Traits/When.php b/Traits/When.php similarity index 100% rename from src/Traits/When.php rename to Traits/When.php diff --git a/composer.json b/composer.json index 5a859fd..27d514d 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ }, "autoload": { "psr-4": { - "Database\\": "src/" + "Database\\": "./" } }, "require-dev": { diff --git a/src/TestModel.php b/src/TestModel.php deleted file mode 100644 index 8e4258a..0000000 --- a/src/TestModel.php +++ /dev/null @@ -1,26 +0,0 @@ -get();