connectDB(config::Inst()); # 建立链接,传入配置文件
}
return $a;
}
/**
* @return CRedisUtil 获取全局MEM单例
*/
function gMem() {
static $cmem = null;
if ($cmem == null) {
$cmem = new CRedisUtil();
$nosql = config::Inst()->nosql;
$cmem->conn($nosql->host, $nosql->port, $nosql->pwd);
}
return $cmem;
}
/**
* 简化提取全局变量的写法
* @return globalsettings
*/
function glc() {
return GameConfig::globalsettings();
}
/**
* @return loyalsoft\Req 全局访问
*/
function req() {
return Req::Ins();
}
default_timezone(); # 全局范围内启用默认时区 中国时区
$zoneid = "1"; # 定义全局变量zoneid
/**
* 从QueryString初始化分区Id
* @global type $zoneid
*/
function InitZoneId() {
global $zoneid;
if (isset($_REQUEST['zoneid'])) {
$zoneid = $_REQUEST['zoneid']; # 从参数提取到全局变量.
}
}
/**
* 直接返回错误resp并结束运行
* @param type $err
* @param type $msg
*/
function Err($err, $msg = "") {
if (ErrCode::ok === $err) {
CLog::err("Err()方法的参数err==ok, 那你还调个蛋的Err()!!!");
}
if (Index::$isDebugging) { # 组织调试信息
Index::$debugMsg .= "
发生错误逻辑中断($err):$msg"; # 错误信息用红色显示
Index::$debugMsg .= '
内存分配:' . number_format(memory_get_peak_usage() / 1024) . 'kb,';
Index::$debugMsg .= '内存占用:' . number_format(memory_get_usage() / 1024) . 'kb'; # 内存使用数量(kb)
$msg = "";
}
CLog::err("发生错误直接中断逻辑执行.");
if (is_string($err)) { # 防御Err中直接输入字符串的货
$msg = $err . $msg;
CLog::err($msg);
$err = ErrCode::err_innerfault;
}
exit(Index::OverPass(Resp::err($err, $msg))); # 直接返回错误信息
}
/**
* 断言快速访问
* @param bool $condition
* @param int/str $err
*/
function my_Assert($condition, $err) {
DebugHelper::assert($condition, $err);
}
/**
* 功能已过期
*/
function absolute() {
return Err(ErrCode::err_method_obsoleted);
}
/**
* 带换行符输出
*/
function echoLine() {
$cli = (php_sapi_name() === 'cli');
$args = func_get_args();
echo implode(" ", $args) . ( $cli ? PHP_EOL : "
"); # CLI下追加\n, html下追加
}
if (GAME_ONLINE) { # 设置脚本执行的超时时间
set_time_limit(25); # 外网不超过25秒
} else {
set_time_limit(10); # 内网不超过5秒
}