首先,我想告诉大家我对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。
我问你什么?我问你以下事项:
如何使用cURL在PHP文件中使用CouchDB视图创建(复杂)搜索?
如何使用HTML表单中的一些输入信息创建复杂搜索?
答案 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;