zteradb / zteradb-php
High-performance async PHP client for ZTeraDB utilizing raw TCP socket transport layer.
Requires
- php: >=7.2
- ext-sockets: *
Requires (Dev)
- phpunit/phpunit: ^8.5 || ^9.6
This package is not auto-updated.
Last update: 2026-05-28 03:56:03 UTC
README
The official PHP client for ZTeraDBโa unified database abstraction platform. This library enables you to connect to your existing data infrastructure and execute queries seamlessly using ZTeraDB Query Language (ZQL).
Technical Overview
This package implements a performance-optimized, ZQL-first PHP client utilizing a raw TCP socket transport layer.
To ensure low-overhead binary framing, the client communicates with the ZTeraDB server using 4-byte big-endian length-prefixed payloads containing structured JSON data. This underlying transport architecture eliminates HTTP overhead, offering high-throughput query execution directly from your PHP runtime.
๐ง Architecture Overview
You never connect to your backend databases directly. ZTeraDB handles all connections, cryptographic signing, proxy routing, and query execution securely behind the scenes.
Your App โ ZTeraDB PHP Client โ ZTeraDB Server โ Your Databases
Key Features
- Unified Access: Query multiple existing databases through a single interface.
- Type-Safe & Standardized: Receive predictable, structured payloads regardless of the underlying data source.
- Lightweight: Built with minimal overhead, supporting modern PHP environments (7.2+).
Table of Contents
โญ Key Features
- ๐ Unified Query Language (ZQL): Write once, run on any database (PostgreSQL, MySQL, MSSQL, etc.).
- ๐ Easy Integration: Seamlessly plugs into any PHP application or framework (Laravel, Symfony, CodeIgniter).
- โ๏ธ Auto-Managed Connections: Handles connection pooling and automatic retries behind the scenes.
- ๐ Secure Authentication: Protected via client, access, and secret keys with cryptographic signing.
- ๐ฏ Clean Query Builder: Fluent interface for standard CRUD operations (
insert,select,update,delete). - ๐ Advanced Filtering: Built-in support for complex logical and mathematical filters.
- ๐งต Streamed Results: Efficiently memory-manages large datasets using PHP generators.
- ๐ฆ Type-Safe & Standardized: Receive predictable, structured payloads regardless of the underlying data source.
๐ Prerequisites & Requirements
| Requirement | Specification |
|---|---|
| PHP Version | PHP 7.2 or higher (Download from php.net) |
| Extensions | sockets extension must be enabled in your php.ini file |
| Package Registry | Available via Packagist |
Installation
Option 1: Via Composer (Recommended)
Run the following command in your terminal to install the ZTeraDB client:
# Using composer
composer require zteradb/zteradb-php
Option 2: From GitHub Repository
Alternatively, you can pull the package directly from GitHub. Add the repository to your composer.json file:
{
"repositories": [
{
"type": "vcs",
"url": "[https://github.com/zteradb/zteradb-php](https://github.com/zteradb/zteradb-php)"
}
],
"require": {
"zteradb/zteradb-php": "v1.0"
}
}
Then, run the installation command:
composer require zteradb/zteradb-php:v2.0.0
๐ 60-Second Quick Start
<?php require_once "vendor/autoload.php"; use ZTeraDB\Config\ZTeraDBConfig; use ZTeraDB\Connection\ZTeraDBConnection; use ZTeraDB\Query\ZTeraDBQuery; use ZTeraDB\Config\ResponseDataTypes; use ZTeraDB\Config\ENVS; // 1. Setup Configuration $config = new ZTeraDBConfig([ 'client_key' => getenv('ZTERADB_CLIENT_KEY'), 'access_key' => getenv('ZTERADB_ACCESS_KEY'), 'secret_key' => getenv('ZTERADB_SECRET_KEY'), 'database_id' => getenv('ZTERADB_DATABASE_ID'), 'env' => ENVS::dev, 'response_data_type' => ResponseDataTypes::json, ]); // 2. Initialize Connection $db = new ZTeraDBConnection( getenv("ZTERADB_HOST"), getenv("ZTERADB_PORT"), $config ); // 3. Build ZQL Query $query = (new ZTeraDBQuery("user"))->select(); // 4. Execute and Stream Results foreach ($db->run($query) as $row) { print_r($row); } // 5. Close Connection $db->close(); ?>
๐ Documentation Sections
Explore the rest of our guides to unlock the full potential of ZTeraDB:
- Configuration - Learn all available configuration options.
- Connection - Deep dive into socket connections and lifecycle management.
- Query Builder - Master building fluent ZQL queries.
- Filter Conditions - Apply advanced math and logical filters to your data.
- Examples โ Copy-pasteable snippets for common use cases.
- Troubleshooting Guide โ How to resolve common connection or runtime errors.
- Quickstart Guide โ A streamlined, 5-minute setup guide.
- Licence โ Open-source licence terms.
Licence
This project is licenced under the ZTeraDB Licence - see LICENCE file for details.