1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 15:32:36 +01:00
Files
Philippe DELENTE 2750ce9207 add translate page mysql xdevapi (#211)
* add translate page mysql xdevapi

* fix XML file contains \r. Several tools may misbehave.
2025-04-22 23:07:23 +02:00

146 lines
3.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 8deee9585d9c8485493e35bcb7dde61b29c30854 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="mysql-xdevapi.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<para>
El punto de entrada central de la API X es la función <function>mysql_xdevapi\getSession</function>,
que recibe una URI hacia un servidor MySQL 8.0 y devuelve un objeto
<classname>mysql_xdevapi\Session</classname>.
</para>
<example>
<title>Conectar a un Servidor MySQL</title>
<programlisting role="php">
<![CDATA[
<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("La conexión no pudo ser establecida: " . $e->getMessage());
}
// ... usar $session
?>
]]>
</programlisting>
</example>
<para>
La sesión proporciona acceso completo a la API. Para una nueva instalación de servidor MySQL,
el primer paso es crear un esquema de base de datos con una colección
para almacenar datos:
</para>
<example>
<title>Crear un Esquema y una Colección en el Servidor MySQL</title>
<programlisting role="php">
<![CDATA[
<?php
$schema = $session->createSchema("test");
$collection = $schema->createCollection("example");
?>
]]>
</programlisting>
</example>
<para>
Al almacenar datos, generalmente <function>json_encode</function> se utiliza para codificar
los datos en JSON, que luego pueden ser almacenados en una colección.
</para>
<para>
Los siguientes ejemplos almacenan datos en la colección que hemos creado anteriormente,
y luego recuperan partes de estos datos nuevamente.
</para>
<example>
<title>Almacenar y Recuperar Datos</title>
<programlisting role="php">
<![CDATA[
<?php
$marco = [
"name" => "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());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
array(4) {
["_id"]=>
string(28) "00005ad66aaf0000000000000003"
["age"]=>
int(39)
["job"]=>
string(7) "Manager"
["name"]=>
string(4) "Mike"
}
]]>
</screen>
</example>
<para>
Este ejemplo demuestra que el servidor MySQL añade un campo adicional llamado
<code>_id</code>, que sirve como clave primaria del documento.
</para>
<para>
Este ejemplo también demuestra que los datos recuperados están ordenados alfabéticamente.
Este orden específico proviene del almacenamiento binario eficiente dentro del servidor MySQL, pero
no debe confiarse en él. Consulte la documentación del tipo de datos JSON de MySQL para más detalles.
</para>
<para>
Opcionalmente, utilice los iteradores de PHP para recuperar múltiples documentos:
</para>
<example>
<title>Recuperar e Iterar sobre Múltiples Documentos</title>
<programlisting role="php">
<![CDATA[
<?php
$result = $collection->find()->execute();
foreach ($result as $doc) {
echo "{$doc["name"]} es un {$doc["job"]}.\n";
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Marco es un Programmer.
Mike es un Manager.
]]>
</screen>
</example>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->