&reftitle.examples; X DevAPI の中心的なエントリポイントは、 mysql_xdevapi\getSession 関数です。 これは MySQL 8.0 サーバーへの URI を受取り、 mysql_xdevapi\Session オブジェクトを返します。 MySQL Serverへの接続 getMessage()); } // ... use $session ?> ]]> セッションは、API への完全なアクセスを提供します。 新しい MySQL サーバーをインストールした後の最初のステップは、 データを保存するために、コレクションを使ってデータベースのスキーマを作ることです: MySQL サーバー上で、スキーマとコレクションを作る createSchema("test"); $collection = $schema->createCollection("example"); ?> ]]> データを保存する際には、 json_encode 関数を使い、データを JSON にエンコードします。 JSON はコレクションに保存するのに使います。 次の例は、既に述べた例で作ったコレクションにデータを保存します。 そして、その一部を再度取得します。 データを保存し、取得する "Marco", "age" => 19, "job" => "Programmer" ]; $mike = [ "name" => "Mike", "age" => 39, "job" => "Manager" ]; $schema = $session->getSchema("test"); $collection = $schema->getCollection("example"); $collection->add($marco, $mike)->execute(); var_dump($collection->find("name = 'Mike'")->execute()->fetchOne()); ?> ]]> &example.outputs.similar; string(28) "00005ad66aaf0000000000000003" ["age"]=> int(39) ["job"]=> string(7) "Manager" ["name"]=> string(4) "Mike" } ]]> この例では、文書へのプライマリーキーの役割を果たす _id という追加フィールドを MySQL サーバーが追加していることを示しています。 さらにこの例は、取得したデータがアルファベット順にソートされていることも示しています。 この特定の並び順は、MySQL サーバー内の効率的なバイナリストレージから来ていますが、 それに依存すべきではありません。詳細は、MySQL の JSON データ型のドキュメントを参照ください。 オプションで、複数の文書を取得するのに、PHP のイテレータが使えます。 複数の文書を取得し、それを走査する find()->execute(); foreach ($result as $doc) { echo "{$doc["name"]} is a {$doc["job"]}.\n"; } ?> ]]> &example.outputs.similar;