GatewayWorker(一) 数据库理解使用

2017-12-15 / 2 评论 / 10362 阅读

近期项目需要,研究一下GatewayWorker一款开源PHP。

使用数据库进行记录。

配置好开发环境。 http://doc2.workerman.net/326102

操作数据库 需要创建 /Config/Db.PHP 进行配置端口  

QQ截图20171215154739.jpg


配置文件如下:

<?php
namespace Config;
class Db
{

    public static $db = array(
        'host' => '127.0.0.1',
        'port' => 3306,
        'user' => 'root',
        'password' => 'root',
        'dbname' => 'db',
        'charset' => 'utf8',
    );

}



之所以在  /Config/Db.PHP 的namespace下面操作 是由于 /Lib/Db.PHP  文件中函数

    public static function instance($config_name)    
    {
        if (!isset(DbConfig::$$config_name)) {
            echo "\\Config\\Db::$config_name not set\n";
            throw new Exception("\\Config\\Db::$config_name not set\n");   
        }

        if (empty(self::$instance[$config_name])) {
         // $config_name  实际传递过来的字符串 组成了 $db 一个变量进行赋值
            $config= DbConfig::$$config_name;  
            self::$instance[$config_name] = new DbConnection($config['host'], $config['port'],
                $config['user'], $config['password'], $config['dbname']);
        }
        return self::$instance[$config_name];
    }





继而在Event.PHP 文件中可以访问数据库进行操作

 public static function onConnect($client_id) {
    //通过config 连接数据库成功
        $db = Db::instance('db');  
    //数据库插入语句
        $db->query("INSERT INTO Persons VALUES ( 'admin', 'pass', 'w', 15)");
         Gateway::sendToAll("$client_id login\n");

    }



其中Event.PHP 需要包含 

use \GatewayWorker\Lib\Db;






    评论一下?

    OωO
    取消
      1. 头像
        网赚平台
        沙发
        感谢博主分享。
        回复
        1. 头像
          吱吱吱
          @网赚平台:workerman一对一聊天在线客服视频,有源码下载。地址: https://study.163.com/course/courseMain.htm?share=2&shareId=400000000388007&courseId=1005015012&_trace_c_p_k2_=6218c2cf363f4e35b70ebd1a7f9e8f09
          回复