Download the PHP package soluble/dbwrapper without Composer
On this page you can find all versions of the php package soluble/dbwrapper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download soluble/dbwrapper
More information about soluble/dbwrapper
Files in soluble/dbwrapper
Package dbwrapper
Short Description Universal minimalist database wrapper
License MIT
Homepage http://soluble.io
Informations about the package dbwrapper
soluble/dbwrapper
Introduction
Minimalist (but universal) database wrapper to rule them all (and to not choose).
Features
- Provide a generic API for handling database access across various implementations.
- Lightweight, framework adaptive and agnostic.
- Natively supports
mysqli
,pdo_mysql
,pdo_sqlite
drivers. - Bridged implementations of
zend-db
,laravel
anddoctrine
.- Access to Oracle, SQL-Server, PostgreSql,...
- Allow to develop database portable libraries.
- Adhere to soluble programming standards.
Requirements
- PHP 7.1 optional ext-mysqli/PDO
For PHP 5.6+, 7.0+ or HHVM >= 3.9 look at version 1.3. For PHP < 5.6 take the 1.2 version
Documentation
- Manual in progress and API documentation available.
Installation
Instant installation via composer.
Quick start
Connection
Create an adapter from an existing Mysqli connection
Querying database
Execute SQL
Get connection infos
Execute SQL
API methods
AdapterFactory
The DbWrapper\AdapterFactory
allows to instanciate an Adapter from en existing connection link or resource.
Methods | Return | Comment |
---|---|---|
static createAdapterFromResource($resource) |
AdapterInterface |
From existing resource (mysqli, pdo) |
static createAdapterFromDbal2($dbal) |
AdapterInterface |
From doctrine/dbal connection |
static createAdapterFromCapsule5($capsule) |
AdapterInterface |
From Laravel connection |
static createAdapterFromZendDb2($zend) |
AdapterInterface |
From zend-db connection |
AdapterInterface
The DbWrapper\Adapter\AdapterInterface
provides common operation on your database.
Methods | Return | Description |
---|---|---|
query($query) |
Resultset |
Iterable results DbWrapper\Result\Resultset |
execute($query) |
void |
Execute command (set, ...) |
quoteValue($value) |
string |
Quote value |
getConnection() |
ConnectionInterface |
ConnectionInterface |
Resultset
The DbWrapper\Result\Resultset
is can be easily iterated through a simple foreach loop.
Additionnaly you can call the following methods :
Methods | Return | Description |
---|---|---|
count() |
int |
Count the number of results |
ConnectionInterface
The DbWrapper\Connection\ConnectionInterface
provides information about your connection
Methods | Return | Description |
---|---|---|
getCurrentSchema() |
string|false |
Return current schema |
getResource() |
mixed |
Return internal connection (pdo, mysqli...) |
getHost() |
string |
Return server hostname or IP |
Supported databases
Native
soluble/dbwrapper
supports natively :
Database | PHP ext |
---|---|
Mysql | mysqli, pdo_mysql |
MariaDb | mysqli, pdo_mysql |
Sqlite | pdo_sqlite |
For examples, see the native drivers doc
Userland implementations
Some of the supported databases can be (incomplete list) :
Database | Doctrine | Laravel | Zend |
---|---|---|---|
Mysql | Yes | Yes | Yes |
MariaDb | Yes | Yes | Yes |
Sqlite | Yes | Yes | Yes |
Oracle | Yes | No | Yes |
Sqlserver | Yes | Yes | Yes |
Postgres | Yes | Yes | Yes |
(...)
For examples, see the userland drivers doc
Motivations
Initially the reason behind the development of soluble/dbwrapper
was to get
a reliable and lightweight library to abstract the PDO_mysql
and mysqli
driver interfaces.
Later on, while developing some libraries, I feel the need for something more framework agnostic that could still be integrated easily into any modern framework. The userland drivers idea was born.
Contributing
Contribution and pull request are more than welcome, see the contribution guide
Coding standards
All versions of dbwrapper with dependencies
ext-pdo Version *