Initial commit: 投注游戏平台初始化
This commit is contained in:
Executable
+79
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
namespace App\Core;
|
||||
|
||||
use Db\Database;
|
||||
|
||||
class SettingsHelper {
|
||||
private static $settings = null;
|
||||
|
||||
/**
|
||||
* 获取所有系统设置
|
||||
*/
|
||||
public static function getAll() {
|
||||
if (self::$settings !== null) {
|
||||
return self::$settings;
|
||||
}
|
||||
|
||||
try {
|
||||
$db = new Database();
|
||||
|
||||
// 尝试查询设置(如果表不存在会抛出异常,被catch捕获)
|
||||
try {
|
||||
$settings = $db->select('system_settings', ['setting_key', 'setting_value']);
|
||||
} catch (\Exception $e) {
|
||||
// 表不存在或其他错误,返回默认值
|
||||
self::$settings = self::getDefaults();
|
||||
return self::$settings;
|
||||
}
|
||||
$result = [];
|
||||
|
||||
foreach ($settings as $setting) {
|
||||
$result[$setting['setting_key']] = $setting['setting_value'];
|
||||
}
|
||||
|
||||
// 合并默认值
|
||||
$defaults = self::getDefaults();
|
||||
foreach ($defaults as $key => $value) {
|
||||
if (!isset($result[$key])) {
|
||||
$result[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
self::$settings = $result;
|
||||
return $result;
|
||||
} catch (\Exception $e) {
|
||||
// 出错时返回默认值
|
||||
return self::getDefaults();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个设置值
|
||||
*/
|
||||
public static function get($key, $default = '') {
|
||||
$settings = self::getAll();
|
||||
return isset($settings[$key]) ? $settings[$key] : $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取默认设置值
|
||||
*/
|
||||
private static function getDefaults() {
|
||||
return [
|
||||
'site_title' => 'PK10 Speed Racing',
|
||||
'site_description' => 'PK10 Speed Racing - Online Betting Platform',
|
||||
'site_keywords' => 'pk10, speed racing, betting, online game',
|
||||
'site_logo' => '/Static/images/logo.png',
|
||||
'site_favicon' => '/Static/css/favicon.ico',
|
||||
'site_copyright' => '© 2025 PK10 Racing. All rights reserved.'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除缓存(当设置更新后调用)
|
||||
*/
|
||||
public static function clearCache() {
|
||||
self::$settings = null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user