hunnomad/ravendb

This class provides a simple interface for interacting with a RavenDB database using HTTP requests. It supports basic operations such as `PUT`, `GET`, `QUERY`, and `DELETE` for managing documents within a RavenDB instance. The class utilizes cURL for making HTTP requests and expects a PEM file for S

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/hunnomad/ravendb

1.1.0 2025-08-08 19:33 UTC

This package is auto-updated.

Last update: 2025-12-08 20:29:36 UTC


README

Overview

This class provides a simple interface for interacting with a RavenDB database using HTTP requests. It supports basic operations such as PUT, GET, QUERY, and DELETE for managing documents within a RavenDB instance. The class utilizes cURL for making HTTP requests and expects a PEM file for SSL certificate verification.

Features

  • PUT: Store or update a document in the database.
  • GET: Retrieve a document from the database by its ID.
  • QUERY: Perform a custom query against the database.
  • DELETE: Remove a document from the database.

Requirements

  • PHP 7.4 or higher
  • cURL extension enabled
  • A valid RavenDB server setup with SSL certificates

Installation

To use this class, simply include it in your PHP project:

require_once 'RavenDB.php';

Then instantiate it with the required parameters:

$ravenDB = new RavenDB('https://your-server-url', 'your-database-name', '/path/to/ssl/certificate.pem');

USAGE

1. Put a Document

$doc = [
    "Name" => "John Doe",
    "Email" => "john.doe@example.com"
];

$id = "users/1";

$ravenDB->put($id, $doc);

2. Get a Document

$id = "users/1";
$document = $ravenDB->get($id);
print_r($document);

3. Query the Database

$query = "from Users where Name = 'John Doe'";
$results = $ravenDB->query($query);
print_r($results);

4. Delete a Document

$id = "users/1";
$ravenDB->del($id);

Error Handling

This class throws exceptions when unexpected HTTP status codes are encountered. Make sure to handle errors properly.

try {
    $ravenDB->put($id, $doc);
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}

License

This project is licensed under the MIT License - see the LICENSE file for details.