Skip to content

byjg/php-anydataset-db

Repository files navigation

sidebar_key tags
anydataset-db
php
anydataset
databases

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.

Sponsor Build Status Opensource ByJG GitHub source GitHub license GitHub release

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

Advanced Topics

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

Open source ByJG

About

Anydataset Database Relational abstraction. Anydataset is an agnostic data source abstraction layer in PHP.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors