For those who are concerned on parsing JSON associative arrays from queries, this class could be useful. You just have to extend it and call parent constructor and it gets the job done.
It automatically initializes all your object attributes getting values from the array.
<?php
#doc
# classname: MongoClass
# scope: PUBLIC
#
#/doc
class MongoClass
{
# internal variables
protected $id;
# Constructor
function __construct ($attList = array())
{
$reflection = new ReflectionObject($this);
foreach ($attList as $attName => $attValue)
{
$attObj = $reflection->getProperty($attName);
$attObj->setAccessible(true);
$attObj->setValue($this, $attValue);
}
}
###
}
###
class A extends MongoClass {
private $name;
private $value;
private $weight;
public function __construct($attList) {
parent::__construct($attList);
}
}
$attList = array(
"name" => "Beer",
"value" => "Delicious",
"weight" => 15.2
); //This is your JSON object associative aray
$a = new A($attList);
?>
La classe Mongo
(No version information available, might only be in SVN)
Introduction
La connexion entre MongoDB et PHP.
Cette classe est utilisée pour créer et gérer les connexions. Un exemple classique est :
<?php
$m = new Mongo(); // connexion
$db = $m->foo; // lecture de l'objet de base de données "foo"
?>
Voir Mongo::__construct() ainsi que la section sur les connections pour plus d'informations sur la création de connexions.
Synopsis de la classe
Mongo
{
/* Constantes */
/* Champs */
public
boolean
$Mongo->connected
= FALSE
;
protected
string
$server
= NULL
;
protected
boolean
$persistent
= NULL
;
/* Méthodes */
public Mongo::__construct
([ string $server = "mongodb://localhost:27017"
[, array $options = array("connect" => TRUE)
]] )
}Constantes pré-définies
Constantes Mongo
- Mongo::VERSION
- Version du drvier PHP. Peut être préfixé avec un "+" ou un "-" si la version se trouve entre 2 versions.
-
Mongo::DEFAULT_HOST
"localhost" - Hôte sur lequel on doit se connecter si aucun n'est fourni.
-
Mongo::DEFAULT_PORT
27017 - Port sur lequel on doit se connecter si aucun n'est fourni.
Champs
- status
- Si c'est une connexion persistante, si la connexion a été créée pour cet objet ou si elle est réutilisée. Si la connexion n'est pas persistante, ce champ est NULL.
Voir aussi
Documentation de MongoDB » concernant les connections.
Sommaire
- Mongo::close — Ferme la connexion
- Mongo::connect — Ouvre la connexion à la base Mongo
- Mongo::connectUtil — Se connecte à un serveur Mongo
- Mongo::__construct — Crée un nouvel objet de connexion à une base de données Mongo
- Mongo::dropDB — Supprime une base de données [obsolète]
- Mongo::__get — Récupère une base de données
- Mongo::getHosts — Met à jour les statuts de tous les hôtes associés à celui-ci
- Mongo::getPoolSize — Récupère la taille de la file d'attente pour les connexions
- Mongo::getSlave — Retourne l'adresse à utiliser pour les lectures slaveOkay
- Mongo::getSlaveOkay — Récupère la configuration de slaveOkay pour cette collection
- Mongo::listDBs — Liste toutes les bases de données disponibles
- Mongo::poolDebug — Retourne des informations sur les pools de connection
- Mongo::selectCollection — Lit une collection de base de données
- Mongo::selectDB — Sélectionne le nom de la base de données
- Mongo::setPoolSize — Affecte la taille des futurs pools de connection
- Mongo::setSlaveOkay — Modifie la configuration de slaveOkay pour cette collection
- Mongo::switchSlave — Choisit un nouvel esclave pour les lectures slaveOkay
- Mongo::__toString — Produit une représentation de chaîne d'une connexion Mongo
Fausto Vanin @faustovanin
10-Feb-2011 04:31
markh789 at gmail dot com
08-Jan-2011 02:32
Here is a simple connection function :)
<?php
function MongoConnect($username, $password, $database, $host) {
$con = new Mongo("mongodb://{$username}:{$password}@{$host}"); // Connect to Mongo Server
$db = $con->selectDB($database); // Connect to Database
}
?>
