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:
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!