A lightweight library to make it very easy to work with CouchDB from PHP. Uses Guzzle, requires PHP 7+.
It's recommended to install this library using Composer:
composer require ibm-watson-data-lab/php-couchdb
Here's the tl;dr of how to begin. For more detailed examples, see the wiki and/or generate the API docs with composer docs
<?php
require "vendor/autoload.php";
// connect to CouchDB (does make a call to check we can connect)
$server = new \PHPCouchDB\Server(["url" => "http://localhost:5984"]);
// get a list of databases; each one is a \PHPCouchDB\Database object
$databases = $server->getAllDbs();
// work with the "test" database (also a \PHPCouchDB\Database object)
$test_db = $server->useDb(["name" => "test", "create_if_not_exists" => true]);
// add a document - you may specify the "id" here if you like
$doc = $test_db->create(["name" => "Alice", "interests" => ["eating", "wondering"]]);
// inspect the document
print_r($doc);
// update the document - a NEW document is returned by this operation, showing the server representation of the document
$doc->friends[] = "Cheshire Cat";
$updated_doc = $doc->update();
// done? Delete the doc
$updated_doc->delete();
For more examples, conflict handling and really everything else, see more detailed documentation on the wiki.
Contributions and issues are all very welcome on this project - and of course we'd love to hear how you're using the library in your own projects.
For information about working with the project locally or opening pull requests, see [[CONTRIBUTING]].