o100ja/rug
Rug is a PHP client library for CouchDB. Early-stage/experimental: the README notes it’s currently just an approach idea and shouldn’t be used until unit tests are completed.
o100ja/rug) is a 2013-era PHP/CouchDB client with no active maintenance, dependents, or recent updates. Its architecture is highly incompatible with modern Laravel (v10+) and PHP (8.x+) ecosystems.
array() → [], mysql_* → PDO).DB::connection() with a custom CouchDB connector (e.g., laravel-couchdb if maintained).bind() in AppServiceProvider).HttpClient to interact with CouchDB’s REST API, bypassing the package entirely.
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'http://couchdb:5984/mydb/_design/docs/_view/all');
class CouchDbService {
protected $client;
public function __construct() {
$this->client = new \Rug\Client('http://couchdb:5984');
}
public function getDocument($db, $id) {
return $this->client->db($db)->get($id);
}
}
Register in AppServiceProvider:
$this->app->singleton(CouchDbService::class, fn() => new CouchDbService());
couchdb-php).array() with [].@php 5.6 or @php 7.0 directives if using modern PHP.mysql_* → PDO)._design/docs views). Test against your CouchDB version.couchdb-php or PostgreSQL).UPGRADE.md for future PHP/Laravel migrations.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| PHP 8.x Deprecation | Package breaks on upgrade. | Pin PHP version to 5.6/7.0 in Docker. |
| CouchDB API Changes | Views or endpoints become deprecated. | Monitor CouchDB release notes. |
| No Security Patches | Vulnerabilities exposed. | Isolate in a VPC with restricted access. |
| Laravel Service Container Issues | Dependency injection fails. | Use manual instantiation or |
How can I help you explore Laravel packages today?