PHP client for Barrel-DB, an open source document-oriented database focusing on data locality (put/match the data next to you) and P2P.
Visit https://barrel-db.org/ for installation intructions for Barrel-DB and to learn about the concepts that underpin Barrel-DB.
Install via composer:
$ composer require barrel-db/barrel-php Barrel-DB uses the JSON format but using this library spares you from converting your data to JSON by using associative arrays which are native to PHP. For example:
The following doc:
{ "id" : "tahteche", "name" : "Teche Tah", "hobbies" : ["eat", "sleep", "code"] }Will be:
[ "id" => "tahteche", "name" => "Teche Tah", "hobbies" => ["eat", "sleep", "code"] ]The example below assumes your Barrel-DB server is serving request at, http://localhost:7080/dbs/ and the database you are perfoming operations on is testdb. All the functions below operate on an instance of the Database class which has been instantiated with the server link and database name.
<?php use Barrel\Database; $server_url = 'http://localhost:7080/dbs'; $db_name = 'testdb'; ======================================================= Database Operations - Create, get, and delete databases ======================================================= //Create instance of the Database class which you will use for request to create or use a Barrel databse. $db = new Database($server_url, $db_name); //Create 'testdb' database on you Barrel server $res = $db->post(); //Get info about the 'testdb' database e.g number of documents $res = $db->get(); //Get list of all databases available on your Barrel server $res = $db->getAll(); //Delete 'testdb' database from Barrel $res = $db->delete(); =============================================================== Document Operations - Create, read, update and delete documents =============================================================== //Create a document in the 'testdb' database $res = $db->postDoc($doc); //Read a document from the 'testdb' database $res = $db->getDoc($doc_id); //Read ALL documents from the 'testdb' database $res = $db->postAllDocs(); //Update a document in the 'testdb' database $res = $db->putDoc($doc); //Delete a document from the 'testdb' database $res = $db->deleteDoc($doc_id);Bugs and feature request are tracked via GitHub issues.
Tah Teche - https://twitter.com/tahteche
Barrel-php is licensed under the Apache-2.0 License - see the LICENSE file for details