Home  >  Article  >  Backend Development  >  Detailed explanation of the steps to implement mongoDB singleton mode operation class in PHP

Detailed explanation of the steps to implement mongoDB singleton mode operation class in PHP

php中世界最好的语言
php中世界最好的语言Original
2018-05-19 14:37:541329browse

This time I will bring you PHP implementationmongoDBSingle case modeDetailed explanation of operation class steps, PHP implementation of mongoDB singleton mode operation class NotesThere are Which ones, the following are practical cases, let’s take a look.

I have seen many mongo classes and they are all unsatisfactory. Finally, I found that there was no need to encapsulate the class myself. The methods that come with the php mongo extension are already very convenient

, but it is customary to encapsulate the database connection part. Finally, I encapsulated a singleton mode database class

The singleton mode is used to avoid generating multiple instances and wasting resources

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

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Recommended reading:

Detailed explanation of the algorithm steps to implement statistics on the number of 1's in a binary number

CI framework (CodeIgniter) Operation redis step analysis

The above is the detailed content of Detailed explanation of the steps to implement mongoDB singleton mode operation class in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn