標籤:func 方便 無法 sel public code word get 自己
看了好多mongo類都不盡人意。最後發現根本不需要自己封裝類。php mongo 的擴充內建的方法就已經很方便了
但是習慣性的把資料庫連接部分封裝起來。最後我就封裝了一個單例模式的資料庫類
使用單例模式是為了避免產生多個執行個體,浪費資源
下面是封裝的代碼
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 是選擇的表。 因為使用單例模式,所以,只會執行個體一個資源
具體操作再參考下面的文章吧
這裡有個一篇文章,講的php對mongo的操作,很詳細,也很易懂。希望大家參考下
http://www.cnblogs.com/jackluo/archive/2013/06/16/3138835.html
php mongo類