ホームページ >バックエンド開発 >PHPチュートリアル >CouchDBのポケモンクラッシュコース
このチュートリアルは、PHPを備えたHTTP APIを介して、NOSQLデータベースであるCouchDBを使用するための実用的なガイドを提供します。 理論的側面をスキップし、実行するデータベース操作に直接飛び込みます。 couchdbとfuton(そのWeb管理コンソール)が既にセットアップされていると思います。
を使用します。 VMを使用している場合は、それに応じて調整します(たとえば、カスタムVHOSTおよび転送されたポートを使用して)。
localhost
重要な概念:
couchdbの基本:
a nosqlデータベースをストレージ用にjson、javascript for queries、およびhttp api。
作成後、ドキュメントを追加するインターフェイスが表示されます。 CouchDBでは、文書が基本単位であることを忘れないでください。テーブルはありません。 同じデータベース内に異なるデータ構造を保存できます。 組織については、ドキュメントを分類するためのA フィールドを含めます(例えば、)。
test_couch
type
ユーザー:"type": "users"
ブログ投稿:
{"id": 123, "fname": "doppo", "lname": "kunikida", "pw": "secret", "hobbies": ["reading", "sleeping"], "type": "users"}
http APIインタラクション:{"title": "The big brown fox", "author": "fox", "text": "...", "publish_date": "2016-07-07", "type": "blog_posts"}
(returns)
create document(postman):curl
curl -X PUT http://localhost:5984/<database_name></database_name>
{"ok":true}
jsonボディに一連のドキュメントを使用してhttp://localhost:5984/test_couch/_bulk_docs
への投稿リクエストを使用してください。
ドキュメントの取得:
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>
ビュー(mapReduce):
ビューはクエリ機能を提供します。 MAPを使用して布団でビューを作成し、機能を低減します(JavaScript)。 これらの関数は、設計ドキュメント内に保存されます。
<code class="language-javascript">function(doc) { emit(doc.trainer, doc.name); }</code>のようなURLを介したアクセスビュー
http://localhost:5984/test_couch/_design/<design_doc>/_view/<view_name>?key="Ash"</view_name></design_doc>
ドキュメントの更新:
最新の改訂IDを備えたフィールドを含むドキュメントURLにプットリクエストを送信します。 更新されたドキュメント全体を提供する必要があります。
_rev
ドキュメントの削除:
最新の改訂IDを備えたフィールドを含むドキュメントURLに削除リクエストを送信します。
_rev
PHP統合(Guzzle):http://localhost:5984/test_couch/<document_id>?rev=<revision_id></revision_id></document_id>
Guzzleは、PHPでHTTPリクエストを簡素化します。 次の例は、基本操作を示しています。(guzzleをインストールすることを忘れないでください:)
composer require guzzlehttp/guzzle
PHP統合(Doctrine CouchDBクライアント):
<code class="language-php"><?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) ... ?></code>
DoctrineのCouchDBクライアントは、より高いレベルの抽象化を提供します。 (インストール:)
composer require doctrine/couchdb
結論:
<code class="language-php"><?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) ... ?></code>このチュートリアルは、HTTP APIとPHPを使用してCouchDBの実用的な紹介を提供します。 より高度な機能については、公式ドキュメントと決定的なガイドを調べてください。 将来の投稿は、couchdbを使用してアプリケーションの構築をより深く掘り下げます。
以上がCouchDBのポケモンクラッシュコースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。