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