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);
?>
Mongo クラス
(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
導入
MongoDB と PHP を接続します。
このクラスを使用して接続を確立します。使い方は次のようになります。
<?php
$m = new Mongo(); // 接続
$db = $m->foo; // "foo" というデータベースの取得
?>
接続の作成に関する詳細な情報は Mongo::__construct() および接続 の節を参照ください。
クラス概要
Mongo
{
/* 定数 */
/* フィールド */
public
boolean
$connected
=
FALSE
;
protected
string
$server
=
NULL
;
protected
boolean
$persistent
=
NULL
;/* メソッド */
public __construct
([ string
}$server = "mongodb://localhost:27017"
[, array $options = array("connect" => TRUE)
]] )定義済み定数
Mongo Constants
-
Mongo::VERSION - PHP ドライバのバージョン。中間バージョンの場合は最後に "+" や "-" がつくことがあります。
-
Mongo::DEFAULT_HOST"localhost" - ホストを指定しない場合に接続するホスト。
-
Mongo::DEFAULT_PORT27017 - ポートを指定しない場合に接続するポート。
フィールド
- status
-
この接続が持続的なものである場合は、
接続が今回新しく作られたのか以前のものを再利用しているのか。
持続的な接続でない場合は、このフィールドは
NULLとなります。
参考
MongoDB コアドキュメントの » 接続 を参照ください。
目次
- Mongo::close — 接続を閉じる
- Mongo::connect — データベースサーバーに接続する
- Mongo::connectUtil — データベースサーバーに接続する
- Mongo::__construct — 新しいデータベース接続オブジェクトを作成する
- Mongo::dropDB — データベースを削除する [非推奨]
- Mongo::__get — データベースを取得する
- Mongo::getHosts — 関連づけられたすべてのホストの状態を更新する
- Mongo::getPoolSize — 接続プールのサイズを取得する
- Mongo::getSlave — slaveOkay の読み込みに使われているアドレスを返す
- Mongo::getSlaveOkay — この接続の slaveOkay 設定を取得する
- Mongo::listDBs — すべてのデータベースの一覧を取得する
- Mongo::poolDebug — すべての接続プールに関する情報を返す
- Mongo::selectCollection — データベースコレクションを取得する
- Mongo::selectDB — データベースを取得する
- Mongo::setPoolSize — 新しい接続プールのサイズを設定する
- Mongo::setSlaveOkay — この接続の slaveOkay の設定を変更する
- Mongo::switchSlave — slaveOkay 読み込み用の新しいスレーブを選ぶ
- Mongo::__toString — この接続の文字列表現
Fausto Vanin @faustovanin
09-Feb-2011 07:31
markh789 at gmail dot com
07-Jan-2011 05: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
}
?>
