在自己定义的类里调用workerman自带Mysql 类的问题

qingzi

由于接受onMessage处理逻辑比较多,自己定义了一个Pack类在onMessage中调用 ,
用如下调用Pack类的静态方法。
call_user_func_array(array('jinuo\Pack',$arr), array($arr));

如果把MySQL 的操作放到Pack类里边,用如下的方法实例化数据库,会有问题吗?
self::$db = new Workerman\MySQL\Connection('127.0.0.1', '3306', 'root', '', 'mysqlName');

3202 1 0
1个回答

walkor

一个进程实例化一次即可,可以封装一层getDbInstance方法,
类似

class Db {
    public static function getDbInstance()
    {
         if (!self::$db) {
             self::$db = new Workerman\MySQL\Connection('127.0.0.1', '3306', 'root', '', 'mysqlName');
         }
         return self::$db;
    }
}

用的时候

Db::getDbInstance()->select(..)....
  • 暂无评论
年代过于久远,无法发表回答
🔝