Tutorial ini menyediakan panduan praktikal untuk menggunakan CouchDB, pangkalan data NoSQL, melalui API HTTP dengan PHP. Kami akan melangkau aspek teoritis dan menyelam terus ke dalam operasi pangkalan data. Kami menganggap anda mempunyai Couchdb dan Futon (konsol admin webnya) yang telah disediakan.
Nota: Kami menggunakan untuk kesederhanaan. Jika menggunakan VM, laraskan dengan sewajarnya (mis., Menggunakan vhost tersuai dan port yang dikemukakan). localhost
Konsep Utama:
Asas -asas CouchDB:https://www.php.cn/link/3bbbc60ff463969b78a091ff51ac6566 ) untuk membuat pangkalan data. Beri nama (mis., ).
Selepas penciptaan, anda akan melihat antara muka untuk menambah dokumen. Ingat, di Couchdb, dokumen adalah unit asas; Tiada jadual. Anda boleh menyimpan struktur data yang berbeza dalam pangkalan data yang sama. Untuk organisasi, sertakan medan test_couch
untuk mengkategorikan dokumen (mis.,
Contoh Struktur Dokumen:
type
"type": "users"
{"id": 123, "fname": "doppo", "lname": "kunikida", "pw": "secret", "hobbies": ["reading", "sleeping"], "type": "users"}
{"title": "The big brown fox", "author": "fox", "text": "...", "publish_date": "2016-07-07", "type": "blog_posts"}
atau alat seperti Postman untuk berinteraksi secara langsung dengan API HTTP CouchDB. Buat pangkalan data (curl):
(pulangan) curl
curl -X PUT http://localhost:5984/<database_name></database_name>
{"ok":true}
http://localhost:5984/test_couch
Content-Type: application/json
Gunakan permintaan pos untuk http://localhost:5984/test_couch/_bulk_docs
dengan pelbagai dokumen dalam badan JSON.
Mendapatkan dokumen:
http://localhost:5984/test_couch/_all_docs?include_docs=true
http://localhost:5984/test_couch/<document_id>?include_docs=true</document_id>
&rev=<revision_id></revision_id>
Pandangan memberikan keupayaan pertanyaan. Buat pandangan dalam futon menggunakan peta dan mengurangkan fungsi (JavaScript). Fungsi ini disimpan dalam dokumen reka bentuk.
function(doc) { emit(doc.trainer, doc.name); }
http://localhost:5984/test_couch/_design/<design_doc>/_view/<view_name>?key="Ash"
mengemas kini dokumen:
Hantar permintaan Put ke URL Dokumen, termasuk medan dengan ID semakan terkini. Anda mesti menyediakan keseluruhan dokumen yang dikemas kini.
_rev
Memadam dokumen:
Hantar permintaan padam ke URL dokumen, termasuk medan dengan ID semakan terkini.
_rev
http://localhost:5984/test_couch/<document_id>?rev=<revision_id>
)
composer require guzzlehttp/guzzle
<?php require 'vendor/autoload.php'; use GuzzleHttp\Client; $client = new Client(['base_uri' => 'http://localhost:5984']); // ... (GET, POST, PUT, DELETE examples using Guzzle similar to the curl and Postman examples above) ... ?>
Kesimpulan:
composer require doctrine/couchdb
<?php require 'vendor/autoload.php'; $client = \Doctrine\CouchDB\CouchDBClient::create(['dbname' => 'test_couch']); // ... (Examples for creating, retrieving, updating, and deleting documents using the Doctrine client) ... ?>
Atas ialah kandungan terperinci Kursus kemalangan pokemon di couchdb. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!