comphp/config

提供对配置文件的读写访问

v0.1 2024-02-17 17:44 UTC

This package is auto-updated.

Last update: 2024-09-17 19:19:52 UTC


README

CommonPHP配置管理器(comphp/config)是一个灵活且强大的库,旨在简化PHP应用程序中配置文件的管理。它利用动态驱动加载和自定义行为的功能,为应用程序配置提供高度可定制的解决方案。

特性

  • 动态驱动支持:通过自定义驱动轻松扩展以支持各种配置文件格式。
  • 行为自定义:通过可配置的行为控制系统如何处理重复的文件扩展名和不受支持的保存操作。
  • 异常处理:提供全面的异常处理,以便精确跟踪和管理错误。
  • 属性和基于契约的配置:利用PHP属性和接口来定义配置驱动,确保清晰和结构化的方法。

安装

使用Composer安装配置管理器

composer require comphp/config

基本用法

请参阅examples/general-usage.php文件以获取详细示例。以下是一个简要概述

  1. 定义配置驱动:在您的驱动类中实现ConfigurationDriverContract。可选地,使用ConfigurationDriverAttribute来指定支持的文件扩展名。

  2. 加载和使用配置管理器:

    use CommonPHP\Configuration\ConfigurationManager;
    use CommonPHP\Drivers\DriverManager;
    
    // Initialize the Driver Manager and Configuration Manager
    $driverManager = new DriverManager();
    $configurationManager = new ConfigurationManager($driverManager);
    
    // Load a custom driver
    $configurationManager->loadDriver(YourCustomDriver::class);
    
    // Get configuration
    $config = $configurationManager->get('/path/to/your/config.file');
    
    // Access configuration data
    echo $config->data['your_config_key'];
  3. 保存配置:如果您的驱动支持保存,您可以持久化修改

    $config->data['new_key'] = 'new_value';
    $config->save(); // Make sure your driver implements saving logic

自定义行为

通过属性自定义配置管理器如何处理某些场景

  • 重复扩展名行为:决定当多个驱动器声明相同的文件扩展名时如何处理。
  • 配置无法保存行为:定义当配置无法保存时(例如,驱动器不支持保存)的行为。

创建自定义驱动

在您的驱动类中实现ConfigurationDriverContract接口,并可选地使用ConfigurationDriverAttribute来指定您的驱动支持哪些文件扩展名。

处理异常

该库定义了一系列异常,用于细粒度错误处理,从驱动加载失败到访问拒绝场景。捕获这些异常以优雅地处理不同的错误条件。

贡献

欢迎为CommonPHP配置管理器做出贡献。请遵循存储库的贡献指南提交错误报告、功能请求或拉取请求。

许可证

CommonPHP配置管理器是开源软件,采用MIT许可证。