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.
 
 
  Installer la bibliothèque PHP avec Composer
  
   La dernière chose que nous devons installer pour commencer l'application
   elle-même est la bibliothèque PHP.
  
  
   La bibliothèque doit être installée avec
   » Composer, un gestionnaire de
   paquets pour PHP. Les instructions pour installer Composer sur différentes
   plateformes peuvent être trouvées sur son site web.
   
   
    Installer la bibliothèque en exécutant:
    
$ composer require mongodb/mongodb
 
   
   
    Cela produira une sortie similaire à:
    
./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
 
   
   
    Composer va créer plusieurs fichiers: composer.json,
    composer.lock, et un répertoire vendor qui
    contiendra la bibliothèque et toutes les autres dépendances que votre projet pourrait nécessiter.
   
   
  
   Utiliser la bibliothèque PHP
   
    En plus de gérer vos dépendances, Composer vous fournira également un
    autochargement (pour les classes de ces dépendances). Assurez-vous
    qu'il est inclus au début de votre script ou dans le code d'amorçage de
    votre application:
    
<?php
// Ce chemin doit pointer vers l'autochargeur de Composer
require 'vendor/autoload.php';
     
   
   
    Avec cela fait, vous pouvez maintenant utiliser n'importe quelle
    fonctionnalité comme décrit dans la
    » documentation de la bibliothèque.
   
   
    Si vous avez utilisé des pilotes MongoDB dans d'autres langages, l'API de la
    bibliothèque devrait vous sembler familière. Elle contient une classe
    » Client
    pour se connecter à MongoDB, une classe
    » Database
    pour les opérations au niveau de la base de données (par exemple, les commandes, la gestion des collections),
    et une classe
    » Collection
    pour les opérations au niveau de la collection (par exemple, les méthodes
    » CRUD, la gestion des index).
   
   
    En tant qu'exemple, voici comment vous insérez un document dans la collection
    beers de la base de données demo:
    
<?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()}'";
?>
     
   
   
    Depuis le document inséré ne contenait pas de champ _id, l'extension
    va générer un MongoDB\BSON\ObjectId pour que le serveur
    l'utilise comme _id. Cette valeur est également disponible pour
    l'appelant via l'objet de résultat retourné par la méthode insertOne.
   
   
    Après l'insertion, vous pouvez interroger les données que vous venez d'insérer.
    Pour cela, vous utilisez la méthode find, qui retourne un curseur
    itérable:
    
<?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";
}
?>
     
   
   
    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 ArrayObject pour la facilité d'utilisation
    et implémentent les interfaces MongoDB\BSON\Serializable
    et MongoDB\BSON\Unserializable 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 mongo
    où les tableaux pourraient se transformer en documents, et vice versa. Voir la
    spécification Persister des données pour plus d'informations sur
    la façon dont les valeurs sont converties entre PHP et BSON.