In den letzten Tagen habe ich ein wenig mit CouchDB herumgespielt und mich ein bisschen dazu eingelesen. Dabei wollte ich vor allem wissen, wie ich CouchDB mit PHP  verbinden kann. CouchDB selbst stelle eine RESTful HTTP/JSON API bereit, was jedoch im Quellcode nicht wirklich komfortable ist und nach einem Wrapper schreit. Seitens PHP gibts es derzeit noch keine Erweiterung, die diese API kapselt, eine entsprechende PECL-Extension ist jedoch schon in Arbeit . In diesem Beitrag möchte ich einige der verschiedenen PHP-Wrapper sammeln.

Im Zend Framework sind schon Anstregungen unternommen worden, die native API zu kapseln. So war ursprünglich Zend_Couch geplant gewesen, was jedoch aufgrund der Fülle der NoSQL-Datenbanken (Wie z.B. MongoHQ  oder Cassandra ) vorerst bis zum 2.0-Release des Frameworks stillgelegt wurde. Der Quellcode, implementiert von Matthew Weier O’Phinney , ist jedoch hier  noch verfügbar und wohl auch für Anwendungen mit dem Zend Framework nutzbar.

Auch Shahar Evron , ein anderer Mitarbeiter von Zend, hat angefangen einen Wrapper zu implementieren. Sein Ergebnis ist unter dem Namen Sopha hier  zu sehen. Diebezüglich würde ich mir auch seine Präsentation  ansehen.

Eine der Bibliotheken, die schon lange aktiv ist, hört auf den Namen PHPillow . Hierfür gibts auf der Projektseite auch nen Tutorial  zur Verwendung.

Interessant sieht auch der PHP Object_Freezer  von Sebastian Bergmann  aus. Auch er hat eine Präsentation gestrickt, die hier zu sehen ist.

Wie man Daten aus der Datenbank direkt in den Browser bekommen kann, wird vom Co-Founder von Slideshare, Jonathan Boutelle hier  gezeigt. Recht interessant, jedoch zunächst (sofern man CouchDB nicht auf Port 80 legt) nicht wirklich praktikabel, da viele Netzwerke (v.a. Hotspots und Firmen) Ports wie den von CouchDB nicht zulassen.

Eine weitere Implementierung ist PHP On Couch , welche hier  beschrieben wird.

Mal sehen, was sich im Praxiseinsatz bewährt, Alternativen gibt es, wie nun gezeigt, schon einige.