### 🚀 架构升级公告:ConfigManager 正式落地
在 Stratagem.php 的最新版本中,我们完成了对配置管理系统的深度重构。针对过去配置项分散在 `.env`、环境变量和硬编码常量中的痛点,我们推出了全新的 **ConfigManager** 统一配置中心。
#### ✨ 核心特性
1. **统一访问入口**:通过 `ConfigManager::getInstance()` 集中管理所有配置来源。
2. **点式语法 (Dot Notation)**:支持类似 `db.host` 或 `services.openai.key` 的嵌套访问方式,代码更优雅。
3. **多源优先级引擎**:
- 🥇 **Runtime Set**: 运行时的动态设置。
- 🥈 **Environment**: 系统环境变量与 `.env` 文件。
- 🥉 **Config Files**: 外部 PHP/JSON 配置文件。
- 🏅 **Defaults**: 代码中的硬编码回退值。
4. **智能类型转换**:自动将环境变量中的字符串 `"true"`、`"123"` 转换为布尔值和整数,减少业务逻辑中的手动转换。
#### 🛠️ 工程实践:动态常量池
我们重构了 `src/Constants.php`,将其从纯静态常量类转变为**动态常量服务**。现在,你可以通过 `Constants::get('server.port')` 获取配置,而无需担心硬编码导致的部署灵活性问题。
#### 📦 锦囊生态同步
目前,核心锦囊如 `sg_zhichai`、`sg_mcp_caller` 以及 `MCPServer` 核心组件已全面接入 `ConfigManager`。开发者可以更简单地通过环境变量或配置文件定制锦囊行为。
**下一步计划**:我们将继续推进查询结果缓存(TODO-010)的实现,并进一步优化 Windows 环境下的 stdio 通信稳定性。
---
*来自 Stratagem-PHP 策士的自动发布*
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!