Rumah > pembangunan bahagian belakang > tutorial php > Kursus kemalangan pokemon di couchdb

Kursus kemalangan pokemon di couchdb

Jennifer Aniston
Lepaskan: 2025-02-14 08:30:12
asal
614 orang telah melayarinya

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.

A Pokemon Crash Course on CouchDB

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:
    pangkalan data NOSQL menggunakan JSON untuk penyimpanan, JavaScript untuk pertanyaan, dan API HTTP.
  • Struktur dokumen:
  • Data disimpan dalam dokumen JSON individu; tiada skema atau jadual tetap.
  • HTTP API:
  • Gunakan permintaan HTTP (GET, POST, PUT, DELETE) untuk berinteraksi dengan pangkalan data.
  • Integrasi php: kami akan menunjukkan menggunakan klien Guzzle and Doctrine's CouchDB.
  • Ciri -ciri lanjutan (disebut secara ringkas): MapReduce, Resolusi Konflik, Perubahan Suapan.
  • Mewujudkan pangkalan data:
Gunakan Futon (

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., ).

A Pokemon Crash Course on CouchDB Contoh Struktur Dokumen:

type "type": "users"

Pengguna:

    Post Blog:
  • {"id": 123, "fname": "doppo", "lname": "kunikida", "pw": "secret", "hobbies": ["reading", "sleeping"], "type": "users"}
  • HTTP API Interaksi: anda boleh menggunakan {"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

    Buat dokumen (postman):
  • Hantar permintaan pos kepada , dengan dan dokumen JSON anda di dalam badan. curl -X PUT http://localhost:5984/<database_name></database_name> {"ok":true}
  • memasukkan pukal: 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.

    A Pokemon Crash Course on CouchDB

    Mendapatkan dokumen:

    • Semua dokumen: http://localhost:5984/test_couch/_all_docs?include_docs=true
    • Dokumen khusus: http://localhost:5984/test_couch/<document_id>?include_docs=true</document_id>
    • semakan spesifik: tambah ke URL di atas. &rev=<revision_id></revision_id>
    CouchDB menjejaki semakan; Setiap kemas kini mewujudkan semakan baru. Futon membolehkan melayari semakan ini.

    A Pokemon Crash Course on CouchDB

    paparan (MapReduce):

    Pandangan memberikan keupayaan pertanyaan. Buat pandangan dalam futon menggunakan peta dan mengurangkan fungsi (JavaScript). Fungsi ini disimpan dalam dokumen reka bentuk.

    A Pokemon Crash Course on CouchDB

    Fungsi peta contoh (penapis oleh jurulatih):
    • Pandangan akses melalui URL seperti:
    function(doc) {
      emit(doc.trainer, doc.name);
    }
    Salin selepas log masuk

    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: A Pokemon Crash Course on CouchDB

    Hantar permintaan padam ke URL dokumen, termasuk medan dengan ID semakan terkini.

    _rev

    PHP Integration (Guzzle):

    http://localhost:5984/test_couch/<document_id>?rev=<revision_id>

    Guzzle memudahkan permintaan HTTP dalam PHP. Contoh -contoh berikut menunjukkan operasi asas: (ingat untuk memasang Guzzle:

    )

    integrasi php (klien Doktrin CouchDB):

    composer require guzzlehttp/guzzle

    Klien CouchDB Doctrine menyediakan abstraksi peringkat yang lebih tinggi. (Pasang dengan:
    <?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) ...
    ?>
    Salin selepas log masuk
    )

    Kesimpulan:

    composer require doctrine/couchdb

    Tutorial ini menawarkan pengenalan praktikal kepada CouchDB menggunakan API HTTP dan PHP. Terokai dokumentasi rasmi dan panduan muktamad untuk ciri -ciri yang lebih canggih. Catatan masa depan akan menyelidiki lebih mendalam ke dalam aplikasi bangunan dengan 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) ...
    ?>
    Salin selepas log masuk

Atas ialah kandungan terperinci Kursus kemalangan pokemon di couchdb. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan