acgrid / config
具有延迟默认值、转换和缓存的配置管理器。
1.0.0
2018-10-12 15:47 UTC
Requires
- php: ^7.2
Requires (Dev)
- phpunit/phpunit: ^7.3
Suggests
- ext-apcu: Cache resolved configuration in built-in PHP user cache.
This package is auto-updated.
Last update: 2024-09-13 04:29:19 UTC
README
功能
- 配置项集合
- 延迟项定义,仅在使用时才定义项
- 自描述,具有IDE自动完成功能
- 延迟解析当前值和默认值
- 枚举和导出用于管理脚本和管理员
- 对填充预加载数据的完全控制
- 通过PHP的快速APCu进行缓存,并在需要时写入回数据
- 附带了辅助程序,用于快速读取器和写入器
使用方法
定义
通过每个定义扩展 Collection
并添加一个公共函数
可以添加类似PHPStorm的Live Template来创建快捷方式
public function $CONF_NAME$(): Item { return $this->make(__FUNCTION__, $DEF_VALUE$, $READER$, $WRITER$); }
源代码
使用返回配置原始数据的数组回调实例化自己的 Loader
。键应该是集合的FQN。如果使用保存的PHP配置文件,则只需 require
导出文件。调用 setApcu('key_prefix')
以启用APCu缓存。
常规操作
实例化所需的 Collection
子实例,建议使用DI容器来完成此任务。传递先前的加载器。然后通过 $collection->item()()
获取配置。注意使用 __invoke()
。否则,你将获得一个具有许多有用方法(如 def()
和 raw()
)的 Item
对象。
查看测试以获取更详细的使用方法。