Cet article explique comment implémenter la classe d'opération en mode singleton mongoDB en PHP.
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
Cet article explique comment implémenter la classe d'opération en mode singleton mongoDB en PHP Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois.
Recommandations associées :
Développement PHP WeChat : WeChat enregistre la conversion temporaire en stockage permanent
php créé à l'aide de imagecopymerge( ) fonction Méthode de filigrane semi-transparent
Discussion : Comment modifier les vues du thème via un simple fichier php ?
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!