Maison  >  Article  >  développement back-end  >  Explication pertinente de la classe d'opération en mode singleton mongoDB implémentée par PHP

Explication pertinente de la classe d'opération en mode singleton mongoDB implémentée par PHP

jacklove
jackloveoriginal
2018-06-29 18:04:211459parcourir

Cet article présente principalement la classe d'opération en mode singleton mongoDB implémentée par PHP et analyse les compétences d'implémentation associées de la classe d'encapsulation de base de données de PHP basée sur le mode singleton pour faire fonctionner la base de données MongoDB sous forme d'exemples. référez-vous à lui

L'exemple de cet article décrit la classe d'opération en mode singleton mongoDB implémentée en PHP. Je le partage avec vous pour votre référence. Les détails sont les suivants :

J'ai vu de nombreux cours de mongo et ils ne sont tous pas satisfaisants. Finalement, j’ai découvert qu’il n’était pas nécessaire d’encapsuler la classe moi-même. Les méthodes fournies avec l'extension php mongo sont déjà très pratiques

mais il est d'usage d'encapsuler la partie connexion à la base de données. Enfin, j'ai encapsulé une classe de base de données en mode singleton

Utiliser le mode singleton permet d'éviter de générer plusieurs instances et de gaspiller des ressources

Voici le code encapsulé

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 是选择的表。 因为使用单例模式,所以,只会实例一个资源具体操作再参考下面的文章吧

Voici un article sur le fonctionnement de php sur mongo, qui est très détaillé et facile à comprendre. J'espère que vous pourrez vous référer aux
//www.jb51.net/article/37727.htm

Articles qui pourraient vous intéresser :

tp5( thinkPHP5) Explication détaillée de la méthode de fonctionnement de la base de données mongoDB

Explication de la solution à la classe PHP SoapClient introuvable

Solution SoapClient de classe PHP introuvable

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn