近期项目需要,研究一下GatewayWorker一款开源PHP。
使用数据库进行记录。
配置好开发环境。 http://doc2.workerman.net/326102
操作数据库 需要创建 /Config/Db.PHP 进行配置端口
配置文件如下:
<?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;