Historky z natáčení - CouchDB 3. - PHP knihovny

Neladem a neskladem naházené knihovny a třídy pro zpříjemnění práce s CouchDB z PHP. Je-li tedy někdy názoru, že je to třeba.

Na wiki CouchDB se pro příklad používá jednoduchá sada tříd z rodinky CouchSimple – pro začátek rozhodně postačí.

Může to pak vypadat třeba nějak takhle (v Nette)

$options = NEnvironment::getConfig('couchdb');
$resp = $this->couchdb()->send('GET', '/' . $this->couchdb()->db . '/_design/foo/_view/bar?include_docs=true&descending=true');
$doc = json_decode($resp);

$rows = array();
foreach ($doc->rows as $row){
        $rows[] = $row->doc;
}

Nějakou dobu jsem takhle vydržel, při připojování k databázi na cloudant.com mě to ale zlobilo, takže jsem zkoušel dál a celkem se zadařilo s českou knihovnou Jakuba Kulhana. Potom to může vypadat zase třeba takhle:

$couchdb = CouchDB::open('fsock://account.cloudant.com');
$db = $couchdb->db('some_database');
$params = array(
        'include_docs' =>'true'
);
$items = $db->view('some_design', 'some_view', $params);
if(isset($items->rows)){
        foreach (items->rows as $item) {
                echo $item->doc->some;
        }
}

Komu by stačilo si zjednodušit práci s HTTP, v článku na Couchbase.com se doporučuje HTTP_Request2 a Zend_Http. Současně tam, jistě zkušený, autor podotýká, že zatím nenarazil na PHP knihovnu, kterou by mohl doporučit pro všechny případy a k tomu se přidávám.

před 9 měsíci napsal Peter Láng | tagy: CouchDB NoSQL PHP | Komentáře: 0

Komentáře

Zatím žádné komentáře.

Přidat komentář

  • Můžete použít Texy syntaxi, HTML není povoleno
  • Například: *kurzíva*, **tučně**, "text odkazu":adresa