mirror of
https://github.com/php/doc-fr.git
synced 2026-03-24 07:02:06 +01:00
Élisions manquantes (de/le/que + voyelle), accords genre/nombre, conjugaisons incorrectes (on + 2e personne), typos, accents manquants, contractions (à le → au, de les → des), c.-à-d., etc.
178 lines
6.2 KiB
XML
178 lines
6.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 3e871fe7eab38f9b0398569c57a1dd0c21e69652 Maintainer: Fan2Shrek Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<section xml:id="mongodb.tutorial.library" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Utiliser la bibliothèque PHP pour MongoDB (PHPLIB)</title>
|
|
|
|
<para>
|
|
Après la configuration initiale de l'extension, nous allons continuer à expliquer comment démarrer
|
|
avec la bibliothèque utilisateur correspondante pour écrire notre premier projet.
|
|
</para>
|
|
|
|
<section>
|
|
<title>Installer la bibliothèque PHP avec Composer</title>
|
|
|
|
<para>
|
|
La dernière chose que nous devons installer pour commencer l'application
|
|
elle-même est la bibliothèque PHP.
|
|
</para>
|
|
|
|
<para>
|
|
La bibliothèque doit être installée avec
|
|
<link xlink:href="&url.mongodb.composer;">Composer</link>, un gestionnaire de
|
|
paquets pour PHP. Les instructions pour installer Composer sur différentes
|
|
plateformes peuvent être trouvées sur son site web.
|
|
</para>
|
|
|
|
<para>
|
|
Installer la bibliothèque en exécutant:
|
|
<programlisting role="shell">
|
|
<![CDATA[
|
|
$ composer require mongodb/mongodb
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Cela produira une sortie similaire à:
|
|
|
|
<programlisting role="text">
|
|
<![CDATA[
|
|
./composer.json has been created
|
|
Loading composer repositories with package information
|
|
Updating dependencies (including require-dev)
|
|
- Installing mongodb/mongodb (1.0.0)
|
|
Downloading: 100%
|
|
|
|
Writing lock file
|
|
Generating autoload files
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Composer va créer plusieurs fichiers: <code>composer.json</code>,
|
|
<code>composer.lock</code>, et un répertoire <code>vendor</code> qui
|
|
contiendra la bibliothèque et toutes les autres dépendances que le projet pourrait nécessiter.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Utiliser la bibliothèque PHP</title>
|
|
|
|
<para>
|
|
En plus de gérer les dépendances, Composer fournira également un
|
|
autochargement (pour les classes de ces dépendances). Il faut s'assurer
|
|
qu'il est inclus au début du script ou dans le code d'amorçage de
|
|
l'application :
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Ce chemin doit pointer vers l'autochargeur de Composer
|
|
require 'vendor/autoload.php';
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Avec cela fait, il est maintenant possible d'utiliser n'importe quelle
|
|
fonctionnalité comme décrit dans la
|
|
<link xlink:href="&url.mongodb.library.docs;">documentation de la bibliothèque</link>.
|
|
</para>
|
|
|
|
<para>
|
|
Si on a utilisé des pilotes MongoDB dans d'autres langages, l'API de la
|
|
bibliothèque devrait sembler familière. Elle contient une classe
|
|
<link xlink:href="&url.mongodb.library.apidocs;/class/MongoDBClient/">Client</link>
|
|
pour se connecter à MongoDB, une classe
|
|
<link xlink:href="&url.mongodb.library.apidocs;/class/MongoDBDatabase/">Database</link>
|
|
pour les opérations au niveau de la base de données (par exemple, les commandes, la gestion des collections),
|
|
et une classe
|
|
<link xlink:href="&url.mongodb.library.apidocs;/class/MongoDBCollection">Collection</link>
|
|
pour les opérations au niveau de la collection (par exemple, les méthodes
|
|
<link xlink:href="&url.mongodb.wiki.crud;">CRUD</link>, la gestion des index).
|
|
</para>
|
|
|
|
<para>
|
|
En tant qu'exemple, voici comment on insère un document dans la collection
|
|
<emphasis>beers</emphasis> de la base de données <emphasis>demo</emphasis>:
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
require 'vendor/autoload.php'; // inclure l'autochargeur de Composer
|
|
|
|
$client = new MongoDB\Client("mongodb://localhost:27017");
|
|
$collection = $client->demo->beers;
|
|
|
|
$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
|
|
|
|
echo "Inserted with Object ID '{$result->getInsertedId()}'";
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Comme le document inséré ne contenait pas de champ <code>_id</code>, l'extension
|
|
va générer un <classname>MongoDB\BSON\ObjectId</classname> pour que le serveur
|
|
l'utilise comme <code>_id</code>. Cette valeur est également disponible pour
|
|
l'appelant via l'objet de résultat retourné par la méthode <code>insertOne</code>.
|
|
</para>
|
|
|
|
<para>
|
|
Après l'insertion, il est possible d'interroger les données qu'on vient d'insérer.
|
|
Pour cela, on utilise la méthode <code>find</code>, qui retourne un curseur
|
|
itérable:
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
require 'vendor/autoload.php'; // inclure l'autochargeur de Composer
|
|
|
|
$client = new MongoDB\Client("mongodb://localhost:27017");
|
|
$collection = $client->demo->beers;
|
|
|
|
$result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
|
|
|
|
foreach ($result as $entry) {
|
|
echo $entry['_id'], ': ', $entry['name'], "\n";
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Tandis que les exemples ne le montrent pas, les documents BSON et les tableaux
|
|
sont désérialisés en tant que classes spéciales dans la bibliothèque par défaut.
|
|
Ces classes étendent <classname>ArrayObject</classname> pour la facilité d'utilisation
|
|
et implémentent les interfaces <interfacename>MongoDB\BSON\Serializable</interfacename>
|
|
et <interfacename>MongoDB\BSON\Unserializable</interfacename> de l'extension pour
|
|
garantir que les valeurs conservent leur type lorsqu'elles sont sérialisées de
|
|
nouveau en BSON. Cela évite un inconvénient de l'ancienne extension <code>mongo</code>
|
|
où les tableaux pourraient se transformer en documents, et vice versa. Voir la
|
|
spécification <xref linkend="mongodb.persistence"/> pour plus d'informations sur
|
|
la façon dont les valeurs sont converties entre PHP et BSON.
|
|
</para>
|
|
</section>
|
|
</section>
|
|
<!-- 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
|
|
-->
|