byjg/anydataset-db
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
| sidebar_key | anydataset-db | |||
|---|---|---|---|---|
| tags |
|
Database Abstraction Layer
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
byjg/anydataset-db 适用场景与选型建议
byjg/anydataset-db 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 88.38k 次下载、GitHub Stars 达 5, 最近一次更新时间为 2018 年 11 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 byjg/anydataset-db 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 byjg/anydataset-db 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 88.38k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 15
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-20