tiaooo / apollo-config
此包的最新版本(v1.0.2)没有可用的许可证信息。
apollo
v1.0.2
2024-06-20 10:05 UTC
Requires
- php: >=7.4
- ext-json: *
- ext-mbstring: *
This package is not auto-updated.
Last update: 2024-09-20 06:19:36 UTC
README
Apollo-Config是用于与Apollo配置中心配合使用的PHP工具包,主要提供配置项的解析功能,在开发过程中可以优雅便捷地获取配置项。已支持当前Apollo中的所有配置类型(Json、String、Number、Boolean),且易于扩展。
快速开始
安装
composer require gupo/apollo-config
使用
// 配置文件基础目录
const CONF_BASE_PATH = __DIR__.'/conf';
// 实例化ApolloConfig对象,并设置配置文件基础目录。
$config = ApolloConfig::instance(CONF_BASE_PATH); // 配置文件基础目录可以不传,不传时从环境变量`APOLLO_CONF_BASE_DIR`中读取
// 获取json类型的配置文件
$res = $config->json()
->setConfigName('test_json')
->setKey('h.e.l.l.o.3')
->get();
var_dump($res); // 输出: string(1) "r"
- 更多使用示例,请参考 example/index.php
Apollo配置中心操作指南
点击此处查看 以.env文件为例,可根据需求配置
为什么使用配置中心
我们在开发时经常需要设置一些持久化的配置项,例如白名单、映射map等,这些配置经常需要修改,因此不能写在代码中。在之前,只能选择.env文件或在数据库中配置,但.env文件没有层级,只能支持简单类型的字符串。另外,.env文件更适合用于设置系统级的配置(例如数据地址、密码),而配置中心中的配置更偏向于业务级别的配置。数据库资源昂贵,新建一张表专门用来存储配置不仅浪费存储资源,还可能影响其他业务的查询效率。新增/修改配置可能需要DBA审批,也会影响效率。Apollo完美地解决了以上问题,Apollo支持多种类型的配置(Json、String、Number、Boolean)、支持多环境、鉴权,配置项发布后可实时同步到K8S容器内,了解更多可查看Apollo配置中心文档。