CouchDB с PHP (используя cURL), но как?

Во-первых, я хочу сказать вам, что меня не интересуют решения с 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 из командной строки.

Что я у тебя спрашиваю? Я прошу вас следующее:

  1. Как создать (сложный) поиск с использованием представлений CouchDB в файле PHP с помощью cURL?

  2. Как создать сложный поиск, используя некоторые входные данные из формы HTML?

0

Решение

Чтобы запросить представление в 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;
1

Другие решения

Других решений пока нет …