soluble/dbwrapper

通用极简数据库包装器

2.0.0 2019-01-03 22:13 UTC

This package is auto-updated.

Last update: 2024-08-29 01:48:38 UTC


README

PHP 7.1+ Build Status codecov Scrutinizer Quality Score Latest Stable Version Total Downloads License

介绍

极简(但通用)的数据库包装器,一统江湖(且无需选择)。

特性

  • 提供通用的API来处理各种实现之间的数据库访问。
  • 轻量级,框架自适应且无关。
  • 原生支持mysqlipdo_mysqlpdo_sqlite驱动。
  • 支持zend-dblaraveldoctrine的桥接实现。
    • 访问Oracle、SQL-Server、PostgreSql、...
    • 允许开发数据库可移植库。
  • 遵循soluble编程标准。

要求

  • PHP 7.1可选扩展ext-mysqli/PDO

对于PHP 5.6+、7.0+或HHVM >= 3.9,请查看1.3版本。对于PHP < 5.6,请使用1.2版本

文档

安装

通过composer快速安装。

$ composer require soluble/dbwrapper

快速入门

连接

从现有的Mysqli连接创建适配器

<?php

use Soluble\DbWrapper;

$conn = new \mysqli($hostname,$username,$password,$database);
$conn->set_charset($charset);

$adapter = DbWrapper\AdapterFactory::createAdapterFromResource($conn);

查询数据库

执行SQL

<?php
$results = $adapter->query("select * from my_table");
foreach($results as $result) {
    echo $result['my_column'];
}

获取连接信息

执行SQL

<?php
$connection = $adapter->getConnection();
echo $connection->getCurrentSchema();
echo $connection->getHost();

$resource = $connection->getResource();

API方法

AdapterFactory

DbWrapper\AdapterFactory允许从现有的连接链接或资源实例化适配器。

AdapterInterface

DbWrapper\Adapter\AdapterInterface提供对数据库的常见操作。

Resultset

DbWrapper\Result\Resultset可以通过简单的foreach循环轻松迭代。此外,您还可以调用以下方法

ConnectionInterface

DbWrapper\Connection\ConnectionInterface提供有关您连接的信息

支持的数据库

原生

soluble/dbwrapper原生支持

例如,请参阅原生驱动文档

用户域实现

一些支持的数据库可以是(不完整的列表)

例如,请参阅用户域驱动文档

动机

最初开发soluble/dbwrapper的原因是为了获取一个可靠且轻量级的库,用于抽象PDO_mysqlmysqli驱动接口。

后来,在开发一些库的过程中,我感到需要一些更框架无关的东西,但仍可以轻松集成到任何现代框架中。诞生了用户域驱动器的想法。

贡献

欢迎贡献和pull请求,请参阅贡献指南

编码标准