CouchDB与PHP(使用cURL),但如何?

时间:2014-12-09 12:30:19

标签: php curl couchdb

首先,我想告诉大家我对PHP框架的解决方案不感兴趣,例如 phpillow php-on-couch sag 或类似的。我想在PHP文件中使用cURL创建与CouchDB 独占的连接,如下例所示。

第一个例子:

<?php

 // Get a list of databases

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, 'http://localhost:5984/_all_dbs');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json',
    'Accept: */*'
 ));

 $response = curl_exec($ch);

 curl_close($ch);

 echo $response;

?>

第二个例子:

 <?php

 // Get a document 'customer' from specific db 'customers' 

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, 'http://localhost:5984/customers/customer');
 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json',
    'Accept: */*'
 ));

 curl_setopt($ch, CURLOPT_USERPWD, 'myDBusername:myDBpass');

 $response = curl_exec($ch);

 curl_close($ch);

 echo $response;
?>

到目前为止我所知道的是什么?我知道如何在上面的例子中使用cURL在PHP文件中创建CRUD(创建,读取,更新,删除)。我知道如何在命令提示符下使用cURL。

我问你什么?我问你以下事项:

  1. 如何使用cURL在PHP文件中使用CouchDB视图创建(复杂)搜索?

  2. 如何使用HTML表单中的一些输入信息创建复杂搜索?

1 个答案:

答案 0 :(得分:1)

要在CouchDB中查询视图,您可以向/ $ DB / _design / $ DDOC / _view / $ VIEW等URL发出get请求,其中$ DB是您的数据库名称,$ DDOC是您的设计文档名称和$ VIEW是视图的名称。然后,您可以在URL中附加“key”,“startkey”,“endkey”,“sort”等各种参数,具体取决于您希望视图返回的信息类型。

请参阅http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options

上的CouchDB文档

要在PHP中使用cURL执行此操作,您所要做的就是设置正确的查询URL和方法:

curl_setopt($ch, CURLOPT_URL, "http://localhost:5984/$DB/_design/$DDOC/_view/$VIEW");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_USERPWD, 'myDBusername:myDBpass');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;