byjg/anydataset-db
最新稳定版本:6.0.0
Composer 安装命令:
composer require byjg/anydataset-db
包简介
AnyDataset-DB provides a relational database abstraction layer. It is part of the Anydataset project, an agnostic data source abstraction layer for PHP.
README 文档
README
AnyDataset-DB provides a relational database abstraction layer. It is part of the Anydataset project, an agnostic data source abstraction layer for PHP.
Learn more about Anydataset here.
Features
- Connection based on URI
- Handles compatibility and code optimization across multiple databases (e.g., MySQL, PostgreSQL, MS SQL Server)
- Built-in Query Cache support using a PSR-16 compliant interface
- Enables connection routing based on regular expressions for queries (e.g., directing queries to different databases for specific tables)
Connection Based on URI
Database connections are defined using URL-based connection strings.
Supported drivers are listed below:
| Database | Connection String | Factory Method |
|---|---|---|
| SQLite | sqlite:///path/to/file | getDbInstance() |
| MySQL/MariaDB | mysql://username:password@hostname:port/database | getDbInstance() |
| PostgreSQL | psql://username:password@hostname:port/database | getDbInstance() |
| SQL Server (DbLib) | dblib://username:password@hostname:port/database | getDbInstance() |
| SQL Server (Sqlsrv) | sqlsrv://username:password@hostname:port/database | getDbInstance() |
| Oracle (OCI8) | oci8://username:password@hostname:port/database | getDbInstance() |
| Generic PDO | pdo://username:password@pdo_driver?PDO_PARAMETERS | getDbInstance() |
Example usage:
<?php $conn = \ByJG\AnyDataset\Db\Factory::getDbInstance("mysql://root:password@10.0.1.10/myschema");
Examples
- Getting Started
- Basic Query and Update
- Sql Statement Object
- Cache results
- Database Transaction
- Load Balance and Connection Pooling
- Database Helper
- Filtering the Query
- Entity Mapping
Advanced Topics
- Database Driver Interface
- DatabaseExecutor - Recommended API
- Passing Parameters to PDODriver
- Generic PDO Driver
- Running Tests
- Getting an Iterator from an existing PDO Statement
- Pre Fetch records
- Logging
- Deprecated Features
Database Specifics
Install
Just type:
composer require "byjg/anydataset-db"
Dependencies
flowchart TD
byjg/anydataset-db --> byjg/anydataset
byjg/anydataset-db --> ext-pdo
byjg/anydataset-db --> byjg/uri
byjg/anydataset-db --> psr/cache
byjg/anydataset-db --> psr/log
Loading
统计信息
- 总下载量: 75.85k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 2
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-20