fiberphp / config
⚙️ FiberPHP 配置与环境管理 —— Config/Env 类,零 Workerman 依赖,可独立复用。
dev-master
2026-09-07 10:10 UTC
Requires
- php: >=8.3
- ext-json: *
- fiberphp/contract: dev-master
Requires (Dev)
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-07 10:10:39 UTC
README
FiberPHP 配置与环境管理 —— Config / Env / ConfigRepository。零 Workerman 依赖,可独立复用(不依赖 framework)。
环境要求
- PHP >= 8.3
- ext-json
fiberphp/contract(ConfigRepository实现其契约接口)
安装
composer require fiberphp/config
组件
| 组件 | 职责 |
|---|---|
FiberPHP\Config\Config | 递归扫描 config/ 目录加载配置数组,支持点语法读写与配置缓存 |
FiberPHP\Config\ConfigRepository | Config 的仓库封装,实现 FiberPHP\Contract\ConfigRepository,供组件经容器注入 |
FiberPHP\Config\Env | .env 文件解析与读取(get / int 类型转换) |
基本用法
Config
use FiberPHP\Config\Config;
// 扫描 config/ 目录加载全部配置(自动排除缓存文件)
Config::load();
// 点语法读取
$debug = Config::get('app.debug', false);
$dbHost = Config::get('database.connections.mysql.host');
// 写入与判断
Config::set('app.name', 'Demo');
Config::has('app.debug');
// 自定义目录加载
Config::loadFromDir('/path/to/config');
// 配置缓存(生产环境优化)
Config::buildCache(); // 生成缓存文件
Config::clearCache(); // 清除缓存
Env
use FiberPHP\Config\Env;
Env::load('/path/to/project/.env');
$appName = Env::get('APP_NAME', 'FiberPHP');
$workers = Env::int('WORKER_COUNT', 4);
经容器注入契约
组件包不直接依赖本包时,可通过容器解析 FiberPHP\Contract\ConfigRepository 契约接口,由框架侧将本包的 ConfigRepository 实现绑定进容器:
use FiberPHP\Contract\ConfigRepository;
class SomeService
{
public function __construct(
private readonly ConfigRepository $config,
) {
}
}
依赖关系
fiberphp/contract ← ConfigRepository 契约接口
↑
fiberphp/config ← 本包
↑
discovery / event / framework / http / router ← 消费方
只需配置能力的包(如 event、router)可只 require 本包,不必拉入 framework 与 Workerman。路径助手函数(base_path() 等)由 framework 提供,不在本包范围。