DataBridge
DataBridge is a schema-aware runtime database abstraction layer. It provides safe CRUD operations, query helpers, joins, dot-walking, JSON import/export, and schema introspection.
Installation
Add DataBridge to your project:
loadfunction("DataBridge");
Requires PHP 7.4+, PDO, and MySQL/MariaDB.
Lifecycle Overview
- Create instance for a table
- Apply conditions
- Perform CRUD / read operations
- Dispose instance (per-request)
Examples
1. Insert Data
$db = new DataBridge("users");
$db->addRowData("name", "Alex");
$db->addRowData("email", "alex@example.com");
$id = $db->insertRow();
2. Fetch Rows (Cursor-based)
$db = new DataBridge("users");
$db->addANDCondition("status='active'");
$db->orderBy("created_at");
while ($row = $db->getNextRow()) {
echo $row['email'];
}
3. Fetch All Rows
$db = new DataBridge("users");
$rows = $db->getAllRows();
4. Update Data
$db = new DataBridge("users");
$db->addANDCondition("email='alex@example.com'");
$db->updateRowData("name", "Bob");
$db->updateRow();
5. Delete Data
$db = new DataBridge("users");
$db->addANDCondition("status='inactive'");
$db->deleteRow();
6. Counts & Analytics
$count = $db->getRowCount();
$unique = $db->getUniqueCountRow("email");
7. Unique Row (No Repeats)
$row = $db->getUniqueRow("email");
8. Joins
$db = new DataBridge("orders");
$rows = $db->joinTables([
['table' => 'users', 'on' => 'orders.user_id = users.id']
]);
9. Dot-Walk
$rows = $db->dotWalk($rows, [
'user_name' => 'users.name'
]);
10. JSON Export / Import
$json = $db->toJSON();
$db->fromJSON($json, false);
11. Schema Discovery
$schema = $db->getTableSchema();
$columns = $db->getColumns();
$fks = $db->getForeignKeys();
API Reference
| Method | Description |
|---|---|
| addRowData() | Add column data |
| addANDCondition() | AND condition |
| addORCondition() | OR condition |
| insertRow() | Insert row |
| updateRow() | Update rows |
| deleteRow() | Delete rows |
| getAllRows() | Fetch rows |
| getNextRow() | Cursor fetch |
| getRowCount() | Count rows |
| getUniqueRow() | Unique fetch |
| joinTables() | LEFT joins |
| dotWalk() | Resolve references |
| toJSON() | Export JSON |
| fromJSON() | Import JSON |
Best Practices
- Always use WHERE conditions for update/delete
- Prefer dot-walk over heavy joins
- Use cursor-based reads for large tables
Anti-Patterns
- Running schema changes via DataBridge
- Using raw SQL conditions from user input
- Long-lived instances