nacosvel/datasource-manager
Composer 安装命令:
composer require nacosvel/datasource-manager
包简介
Nacosvel DataSource Manager.
README 文档
README
Installation
You can install the package via Composer:
composer require nacosvel/datasource-manager
文档
因不同框架的容器对象不同,需要借助 nacosvel/container-interop 完成容器交互。
use Nacosvel\Container\Interop\Discover; class AppServiceProvider extends ServiceProvider { public function boot(): void { Discover::container(); } }
不同框架实现方式可能不一致,可以在服务提供者中实现容器发现功能。
具体操作查看 nacosvel/container-interop
将数据库管理对象绑定到 Nacosvel\Contracts\DatabaseManager\DatabaseManagerInterface 接口。
use Illuminate\Support\ServiceProvider; use Nacosvel\Container\Interop\Discover; use Nacosvel\Contracts\DatabaseManager\DatabaseManagerInterface; use Nacosvel\DataSourceManager\DatabaseManager; use Nacosvel\DataSourceManager\TransactionManager; class AppServiceProvider extends ServiceProvider { public function boot() { $this->app->bind(DatabaseManagerInterface::class, function () { return new DatabaseManager($this->app['db']); }); $this->app->bind('TM', function ($app) { return new TransactionManager($app[DatabaseManagerInterface::class], new class() { protected mixed $connection; public function beginTransaction(): string { return 'beginTransaction'; } public function __invoke(mixed $connection): static { $this->connection = $connection; return $this; } public function __call(string $method, array $parameters) { return call_user_func_array([$this->connection, $method], $parameters); } }); }); Discover::container(); // app('TM')->beginTransaction();// beginTransaction } }
License
Nacosvel DataSource Manager is made available under the MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-11-06