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();