MongoDB APIのパラダイムをどのように複製するのですか?

MongoDB’s excellent PHP
driver allows me to write to write PHP code
that looks like this:

$mongo = new mongo("mongodb://path.to.my.server.com:27017");
$cnt = $mongo->db_name->table->count();

さらに、存在しないテーブルにも同様のコードを書くことができます。

$mongo->new_db_name->table->save(array('name' => 'Jimmy'));
echo $mongo->new_db_name->table->count();

Mongo クラスは、
Mongo()コンストラクタによって作成された親オブジェクトで、子
MongoCollection /code>と new_db_name
)をオンザフライで実行します。モンゴの運転手はどうしますか? public変数が見つからない場合は、
MongoCollection 型のオブジェクトを作成する方法を知っていますか?ドライバはPECL
C拡張です。この振る舞いを再現するのに必要なものか、誰かがPHPのようなことをすることができますか?

ベストアンサー

あなたは同じように達成するためにこのようなクラスを使用することができます:

class mongolike {
  protected $dbs;
  function __get($name) {
    if (empty($this->dbs[$name])) {
      $this->dbs[$name] = new db($name);
    }
    return $this->dbs[$name]
  }
}

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です