Maison >développement back-end >tutoriel php >Explication détaillée des étapes pour implémenter la classe d'opération en mode singleton mongoDB en PHP

Explication détaillée des étapes pour implémenter la classe d'opération en mode singleton mongoDB en PHP

php中世界最好的语言
php中世界最好的语言original
2018-05-19 14:37:541377parcourir

Cette fois, je vous apporte une explication détaillée des étapes pour implémenter mongoDBclasse d'opération en mode unique en PHP Notes pour implémenter la classe d'opération en mode singleton mongoDB. en PHP Lesquels, les suivants sont des cas pratiques, jetons un coup d'œil.

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

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

I Je crois que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Explication détaillée des étapes de l'algorithme pour implémenter les statistiques du nombre de 1 en binaire en php

Cadre CI (CodeIgniter) Analyse des étapes de fonctionnement de redis

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