围绕 Doctrine DBAL 库的轻量级包装

3.0.1 2019-09-25 00:24 UTC

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 条款