&reftitle.examples;
Центральная точка входа в X DevAPI — функция mysql_xdevapi\getSession,
которая принимает URI сервера MySQL 8.0 и возвращает
объект mysql_xdevapi\Session.
Подключение к серверу MySQL
getMessage());
}
// ...используйте $session
?>
]]>
Сессия даёт полный доступ к API. Первый шаг для новой установки MySQL-сервера —
создать схему базы данных с коллекцией для хранения данных:
Создание схемы и коллекции на сервере MySQL
createSchema("test");
$collection = $schema->createCollection("example");
?>
]]>
При сохранении данных их обычно кодируют в JSON-формат функцией json_encode,
который затем можно сохранить внутри коллекции.
В следующем примере данные сохраняются в коллекции, которую мы создали ранее,
а затем снова извлекаем их части.
Хранение и получение данных
"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"
}
]]>
В примере показано, что сервер MySQL добавляет поле с именем
_id, которое выступает в роли первичного ключа к документу.
В примере также показано, что извлечённые данные отсортированы по алфавиту.
Этот конкретный порядок обоснован эффективным двоичным хранилищем внутри сервера MySQL, но
на него не нужно полагаться. Подробнее об этом рассказано в документации по типу данных MySQL JSON.
Если нужно, можно использовать итераторы PHP для извлечения нескольких документов:
Извлечение и итерация нескольких документов
find()->execute();
foreach ($result as $doc) {
echo "{$doc["name"]} — {$doc["job"]}.\n";
}
?>
]]>
&example.outputs.similar;