php實(shí)現(xiàn)的mongoDB單例模式操作類
本文實(shí)例講述了php實(shí)現(xiàn)的mongoDB單例模式操作類。分享給大家供大家參考,具體如下:
看了好多mongo類都不盡人意。最后發(fā)現(xiàn)根本不需要自己封裝類。php mongo 的擴(kuò)展自帶的方法就已經(jīng)很方便了
但是習(xí)慣性的把數(shù)據(jù)庫(kù)連接部分封裝起來(lái)。最后我就封裝了一個(gè)單例模式的數(shù)據(jù)庫(kù)類
使用單例模式是為了避免生成多個(gè)實(shí)例,浪費(fèi)資源
下面是封裝的代碼
class Mongo_db { private static $cli; /** * 不允許初始化 */ private function __construct() { $config = Config::get('config.mongo_config'); if(empty($config)){ $this->throwError('無(wú)法連接數(shù)據(jù)庫(kù)!'); } 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 是選擇的數(shù)據(jù)庫(kù) , mycollection 是選擇的表。 因?yàn)槭褂脝卫J剑?,只?huì)實(shí)例一個(gè)資源具體操作再參考下面的文章吧
這里有個(gè)一篇文章,講的php對(duì)mongo的操作,很詳細(xì),也很易懂。希望大家參考下
http://chabaoo.cn/article/37727.htm
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP+MongoDB數(shù)據(jù)庫(kù)操作技巧大全》、《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHPwind整合最土系統(tǒng)用戶同步登錄實(shí)現(xiàn)方法
我的任務(wù)就是讓PHPWind和最土登錄同步,領(lǐng)導(dǎo)也知道我的技術(shù)能力有限,不怎么高要求,所以讓我先實(shí)現(xiàn),再考慮其他。趕鴨子上架,開(kāi)工了。2010-12-12Cannot modify header information錯(cuò)誤解決方法
Warning: Cannot modify header information - headers already sent by出錯(cuò)的原因2008-10-10如何使用Laravel Eloquent來(lái)開(kāi)發(fā)無(wú)限極分類
在網(wǎng)上商城上,我們經(jīng)??梢钥吹蕉嗉?jí)分類、子分類、甚至無(wú)限極分類。本文將向你展示如何優(yōu)雅的通過(guò) Laravel Eloquent 將其實(shí)現(xiàn)。2021-05-05完美利用Yii2微信后臺(tái)開(kāi)發(fā)的系列總結(jié)
Yii2是一個(gè)高性能,基于組件的 PHP 框架,這篇文章詳細(xì)的給大家介紹了利用Yii2開(kāi)發(fā)微信后臺(tái)。我們一起來(lái)看看。2016-07-07php使用gearman進(jìn)行任務(wù)分發(fā)操作實(shí)例詳解
這篇文章主要介紹了php使用gearman進(jìn)行任務(wù)分發(fā)操作,結(jié)合實(shí)例形式詳細(xì)分析了gearman的安裝以及PHP使用gearman進(jìn)行異步處理任務(wù)相關(guān)操作技巧,需要的朋友可以參考下2020-02-02PHP常見(jiàn)加密函數(shù)用法示例【crypt與md5】
這篇文章主要介紹了PHP常見(jiàn)加密函數(shù)用法,結(jié)合實(shí)例形式分析了crypt與md5函數(shù)進(jìn)行加密操作相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下2019-01-01