Heim  >  Artikel  >  Backend-Entwicklung  >  Gemeinsame Nutzung von Instanzoperationen des in PHP implementierten MongoDB-Singleton-Modus

Gemeinsame Nutzung von Instanzoperationen des in PHP implementierten MongoDB-Singleton-Modus

小云云
小云云Original
2018-05-12 16:21:501675Durchsuche

Dieser Artikel stellt hauptsächlich die von PHP implementierte MongoDB-Singleton-Modus-Betriebsklasse vor. Er analysiert die zugehörigen Implementierungsfähigkeiten der Datenbank-Kapselungsklasse basierend auf dem Singleton-Modus, um die MongoDB-Datenbank in Form von Beispielen zu betreiben Ich kann mich darauf beziehen. Ich hoffe, es kann jedem helfen.

Das Folgende ist der gekapselte Code

class Mongo_db
{
  private static $cli;
  /**
   * 不允许初始化
   */
  private function __construct()
  {
    $config = Config::get('config.mongo_config');
    if(empty($config)){
      $this->throwError('无法连接数据库!');
    }
    if (!empty($config["user_name"])) {
      $this->mongo = new MongoClient("mongodb://{$config['user_name']}:{$config['password']}@{$config['host']}:{$config['port']}");
    }else {
      $this->mongo = new MongoClient($config['host'] . ':' . $config['port']);
    }
  }
  /**
  * 单例模式
  * @return Mongo|null
  */
 public static function cli(){
  if(!(self::$cli instanceof self)){
   self::$cli = new self();
  }
  return self::$cli->mongo;
 }
}
$mongo = Mongo_db::cli()->test->mycollection; // test 是选择的数据库 , mycollection 是选择的表。 因为使用单例模式,所以,只会实例一个资源具体操作再参考下面的文章吧

Verwandte Empfehlungen:

Detaillierte Erläuterung, wie PHP7 MongoDB-Fuzzy-Abfragen implementiert

So implementieren Sie den Singleton-Modus in PHP

Der Unterschied zwischen Factory-Modus und Singleton-Modus im PHP-Designmodus

Das obige ist der detaillierte Inhalt vonGemeinsame Nutzung von Instanzoperationen des in PHP implementierten MongoDB-Singleton-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn