mazentouati / simple-2way-config
基于PHP的简单双向(读写)配置。
Requires
- php: >=7.0.0
Requires (Dev)
- phpunit/phpunit: ^6.5
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-09-18 18:23:38 UTC
README
Simple 2 way配置是一个基于PHP的读写配置库。它适用于需要使用文件系统存储首选项或配置的应用程序。
安装
我们建议通过composer 安装此包。
composer require mazentouati/simple-2way-config
用法
最简单的方法是通过包的工厂。工厂所需的参数是包含你的配置文件的目录的路径。
use MazenTouati\Simple2wayConfig\S2WConfigFactory; $config = S2WConfigFactory::create( __DIR__ . '/demo' );
现在你可以使用点表示法 '{filename}.path.to.value' 访问配置值。
$host = $config->get('database.drivers.mysql.host');
注意:你的配置文件应该是一个基于数组的配置,请参考以下示例
API
配置API实现了S2WConfigInterface
。
以下示例将假设你已经将配置分配给名为$config
的变量。
get(string $path, mixed $default = null)
使用点表示法路径获取值,按照此约定{filename}.path.to.value
$config->get('database.drivers.mysql.host');
你可以传递一个默认值,在找不到值时返回,默认返回null
echo $config->get('somewhere.where.are.you', 'here'); > here
set(string $path, mixed $value)
更新运行时配置中的值。
注意:如果找不到配置的文件名,它将在运行时实例中为该文件名创建一个新键。同样,对于值,如果点路径中缺少任何部分,它将在运行时实例中自动创建。
$config->set('database.drivers.mysql.host', '127.0.0.1');
sync(mixed $specificConfiguration = false)
同步运行时配置与源文件
$config->sync();
默认情况下,它将同步所有文件,尽管你可以传递一个特定的文件来同步
$config->sync('database');
使用sync
将创建一个备份文件以保持安全,如果发生错误,将创建一个备份文件,名称为{original_file_name}.backup.php
。如果备份失败(由于权限不足,它使用PHP copy
函数),它将抛出一个异常S2WConfigException
。为了避免任何丑陋的异常错误,你可以使用以下方式使用sync
use MazenTouati\Simple2wayConfig\S2WConfigException; ... try { $config->sync(); } catch (S2WConfigException $e) { die($e->getMessage()); }
如果出现异常,此代码将打印如下内容:
配置同步无法为{ path_to_directory\database.php }保存备份,请检查你的权限
注意:此方法将同步您使用set
方法创建的任何新值或更新值。即使您使用set
将不存在的配置文件设置到运行时配置中,此方法也会为您创建该文件。如果您不想出现任何不希望的行为,请谨慎使用。
配置文件格式
配置文件必须是一个有效的PHP文件,并返回一个有效的数组。
<?php return [ 'driver' => 'mysql', 'drivers' => [ 'mysql' => [ 'host' => 'your_host', 'dbname' => 'your_database', 'user' => 'your_user', 'password' => 'your_password', ], ], ];
贡献
请查看指南
许可协议
© MIT | 2018, mazentouati/simple-2way-config