cymapgt / db
围绕 Doctrine DBAL 库的轻量级包装
Requires
- php: >=7.2.0
- doctrine/dbal: ~2.9.0
Requires (Dev)
- phpunit/phpunit: 8.*
This package is auto-updated.
Last update: 2024-09-25 11:11:43 UTC
README
描述
围绕 Docrines DBAL 的轻量级包装,用于处理各种数据库类型的配置设置管理
安装
通过 Composer 安装应用程序
require "cymapgt/db": "1.*"
用法
DB 包旨在构建 Doctrine DBAL 支持的各种数据库类型的数据库连接设置
概述
- DB 是一个单例,这是数据库连接类中常用的模式
- DB 设计为从环境变量中获取数据库连接设置,但也可以接受数据库连接设置的参数
- DB 包的所有公共方法都是静态的
- 注意:将数据库参数存储在环境变量中需要仔细考虑。需要考虑安全问题,以确保只有 Web 服务器用户可以访问它们。如果此方法在您的场景中不可行,您可以使用接受 DB 连接设置作为数组的替代方法。
获取器和设置器
####设置数据库类型
DB::setDbType('mysql');
将 mysql 替换为以下之一:oracle、mssql、sqlite、sybase、drizzle、postgres
####获取连接的数据库类型
DB::getDbType();
####获取数据库参数
DB::getDatabaseParameters();
返回一个数组,该数组存储在 Web 服务器/操作系统环境中的数据库参数。该数组是一个关联数组,其索引取决于数据库类型。数据库配置数组键与 DBAL 文档中列出的 Doctrine DBAL 数据库连接设置匹配(http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html)。
例如,MySQL 的数组将包含用户、密码、主机、端口、数据库名、驱动程序、unix_socket 和字符集索引。
对配置设置进行质量检查
验证配置设置
DB::validateDbParameters($dbParams);
接受一个 DB 参数数组。然后执行两项检查。确保 DBAL 将用于数据库的驱动程序已实际加载。然后检查任何默认设置(任何 DBAL 可以加载的各种数据库的默认设置)是否在数组中。如果两项检查中的任何一项失败,将抛出 cymapgt\Exception\DBException。
DB::sanitizeDbParameters($dbParams);
接受一个 DB 参数数组。一些 DB 连接设置是可选的,例如 mysql 中的字符集。此方法在实例化 DB 连接之前丢弃空配置。
建立 DB 连接并返回 DBAL 实例
从环境设置连接
//dbObj is an instance of DBAL loading your favourite DB . You can make your queries
$dbObj = DB::connectDb();
使用配置设置数组连接
DB::setDbType('mysql');
//define settings in array
$mysqlSettings = array (
'user' => 'cr7',
'password' => 'valdebas',
'host' => 'localhost',
'port' => '3306',
'dbname' => 'undecima'
);
//return dbal instance with the mysql dbl loaded
$dbObj = DB::connectDbNew($mysqlSettings);
关闭数据库连接
//Part of resource management and ensuring sensitive information is discarded is destroying resources after use
DB::closeDbConnection();
测试
该软件包提供了 DB 测试。测试套件中使用 SQLITE 数据库。
贡献
- 通过电子邮件 @rhossis 或通过 Skype 联系
- 在 GitHub 上分叉存储库以开始对 master 分支(或从其分支)进行更改。
- 您将被添加为作者以贡献 ... 呃 :)
许可证
BSD 3 条款