Во-первых, я хочу сказать вам, что меня не интересуют решения с PHP-фреймворками, такими как phpillow, PHP-на-диване, провисать или похожие. Я хочу создать соединение с CouchDB исключительно с помощью cURL в PHP-файле, как в примере ниже.
1-й пример:
<?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;
?>
2-й пример:
<?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;
?>
Что я знаю до сих пор? Я знаю, как создать CRUD (создать, прочитать, обновить, удалить) в файле PHP, используя исключительно cURL, пример выше. Я знаю, как использовать cURL из командной строки.
Что я у тебя спрашиваю? Я прошу вас следующее:
Как создать (сложный) поиск с использованием представлений CouchDB в файле PHP с помощью cURL?
Как создать сложный поиск, используя некоторые входные данные из формы HTML?
Чтобы запросить представление в CouchDB, вы делаете запрос get на URL-адрес, например / $ DB / _design / $ DDOC / _view / $ VIEW, где $ DB — это имя вашей базы данных, $ DDOC — это имя вашего документа дизайна, а $ VIEW — это Название вашего взгляда. Затем вы добавляете в URL различные параметры, такие как «ключ», «ключ запуска», «ключ конца», «сортировка» и т. Д., В зависимости от того, какую информацию вы хотите вернуть в представление.
Смотрите документацию CouchDB на http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options
Чтобы сделать это с помощью cURL в PHP, все, что вам нужно сделать, это установить правильный 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;
Других решений пока нет …