Databases Reference
In-Depth Information
$dbA($dbA=$db->get("/_all_dbs")->data);
$docA($db->get(phpillowConnection::getDatabase()."_
all_docs")->rows);
Doch PHPillow bietet mehr als nur einen einfachen Wrapper für die GET/PUT-Aufrufe.
Denn durch Erweiterung der Klasse phpillowDocument können Sie Ihre eigenen Doku-
mentklassen erstellen. Auf der Heft-CD finden Sie Beispiele dafür. Der Umgang mit einer
definierten Klasse sieht zum Beispiel so aus:
$ah=new myAutohaus();
$ah->type="autohaus";
$ah->name="Schmidt";
$ah->marken=array("Audi","VW","Skoda");
$ah->stadt="Berlin";
$ah->save();
Nachdem ein Objekt gespeichert wurde, gibt es ein Attribut _id , mit dem die erzeugte ID
des Objekts abgefragt werden kann. Änderungen an dem Objekt können dann zurückge-
schrieben werden. Dabei steuert der Parameter versioned, ob zusätzlich zur CouchDB-in-
ternen Versionsverwaltung die Revisionen eines Dokuments innerhalb des Dokuments ge-
speichert werden.
$doc = new myAutohaus();
$doc->fetchById( $ah->_id );
$doc->name="Schmitt";
$doc->save();
Zusätzlich zur Definition eigener Dokumentklassen können eigene View-Klassen angelegt
werden. Dazu bietet PHPillow die Möglichkeit, Designdokumente zu definieren. Erstellen
wir also ein Designdokument, das uns alle Autohäuser nach Stadt anzeigt. Der Aufruf die-
ses Designdokuments erfolgt mit $docsA=autohausView::byStadt()->rows; für alle Do-
kumente, beziehungsweise $docsA=autohausView::byStadt(array(“key“=>“Berlin“)-
>rows; für alle Dokumente, bei denen der Key (also das erste Element der emit -Funktion)
Search WWH ::




Custom Search