用一个函数解决ThinkPHP 连接 MySQL与 MongoDB

jerry thinkphp 2015年11月19日 收藏
用一个函数解决ThinkPHP 连接 MySQL与 MongoDB,请注意M函数
1. config.php设置
  1.     //.配置MySQL数据库
  2.     'DB_MYSQL' => array(
  3.         'db_type'=>'mysqli',
  4.         'db_user'=>'用户名',
  5.         'db_pwd'=>'密码',
  6.         'db_host'=>'127.0.0.1',
  7.         'db_port'=>'3306',
  8.         'db_name'=>'数据库名',
  9.         'db_charset'=>'utf8',
  10.     ),

  11.     //.配置MongoDB数据库
  12.     'DB_MONGO' => array(
  13.         'db_type'=>'mongo',
  14.         'db_user'=>'用户名',
  15.         'db_pwd'=>'密码',
  16.         'db_host'=>'localhost',
  17.         'db_port'=>'27017',
  18.         'db_name'=>'数据库名',
  19.     ),
2. 写一个M函数,实现数据库的调用
  1.     //. 调用MONGO和MYSQL数据库
  2.     protected function M( $table_name = '', $db_type = 'DB_MYSQL' ){
  3.     
  4.         $db_config = C($db_type);
  5.         $db_prefix = C('DB_PREFIX');
  6.         
  7.         if( $table_name == '' ){ return false; }

  8.         if( $db_type == 'DB_MYSQL' ){
  9.             return M( $table_name , $db_prefix , $db_config );
  10.         }else if( $db_type == 'DB_MONGO' ){
  11.             return M( '\Think\Model\MongoModel:' . $table_name , $db_prefix , $db_config );
  12.         }else{
  13.             return false;
  14.         }

  15.     }//;
3. 调用M函数的实例
  1.     //. 调用自定义的M函数

  2.     //. 连接MySQL数据库
  3.     echo 'Mysql:';
  4.     $list = $this->M('user','DB_MYSQL')->select();
  5.     dump( $list );

  6.     //. 连接MongoDB数据库
  7.     echo 'Mongo:';
  8.     $list = $this->M('user','DB_MONGO')->select();
  9.     dump( $list );
希望对您有所帮助!!!