Empleo de la biblioteca de PHP (PHPLIB)
Después de la configuración inicial del controlador, continuaremos explicando cómo empezar
con el controlador de MongoDB y la correspondiente biblioteca de usuario para escribir
nuestro primer proyecto.
Instalación de la Biblioteca de PHP con Composer
Lo último que necesitamos instalar para empezar con la apliación
en sí, es la biblioteca de PHP.
La bibilioteca necesita ser instalada con
Composer, un gestor de paquetes
para PHP. Las instrucciones para instalar Composer en varias plataformas se pueden
encontrar en su sitio web.
Instale la biblioteca ejecutando:
Muestra algo parecido a esto:
Composer creará varios ficheros: composer.json,
composer.lock, y un directorio vendor que
contendrá la biblioteca y cualquier otra dependencia que requiera el proyecto.
Utilizar la Biblioteca de PHP
Además de gestionar las dependencias, Composer también proporciona
un autocargador (para las clases de las dependencias). Asegúrese que se
incluye al inicio del script o en el código de arranque de la
aplicación:
Con esto hecho, ahora se puede emplear cualquier funcionalidad de la descrita en la
documentación de la biblioteca
y en su API.
Si ha empleado anteriormente el controlador antiguo (esto es, la extensión
mongo), la API de la biblioteca debería serle familiar. Contiene una clase
Client
para conectar a MongoDB, una clase
Database
para operaciones a nivel de la base de datos (p.ej. comandos , gestión de colecciones)
y una clase
Collection
para operaciones a nivel de colección (p.ej.
métodos CRUD, gestión de índices).
Se han renombrado varios métodos de Collection para mayor claridad y para estar en
concordancia con una nueva specification
independiente del lenguaje.
Como ejemplo, así es como se inserta un documento en la
colección beers de la base de datos
demo:
demo->beers;
$resultado = $colección->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
echo "Inserted with Object ID '{$resultado->getInsertedId()}'";
?>
]]>
En lugar de inyectar el campo _id generado en el documento de
entrada (tal como se hacía en el antiguo controlador), ahora se pone a disposición
mediante el objeto de resultados devuelto por el método insertOne.
Por supuesto, después de la inserción también se pueden consultar los datos que se
acaban de insertar. Para ello se utiliza el método find, el cual devuelve un
cursor iterable:
demo->beers;
$resultado = $colección->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
foreach ($resultado as $entry) {
echo $entry['_id'], ': ', $entry['name'], "\n";
}
?>
]]>
Anuque pueda no ser evidente en los ejemplos, los documentos BSON y los arrays son
deserializados como clases de tipo en la biblioteca de forma predeterminada. Estas clases aseguran
que los valores preservan sus tipos cuando son serializados de nuevo a BSON, lo cual
evita una advertencia del antiguo controlador cuando un array podía convertise a un documento,
y viceversa. Además, las clases extienden
ArrayObject para mejorar la usabilidad. Se puede encontrar más
información sobre cómo el controlador y la biblioteca manejan la serialización y
deserialización entre variablies de PHP y BSON leyendo la
especificicación de .