PHP code example of sojf / config
1. Go to this page and download the library: Download sojf/config library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sojf / config example snippets
use Sojf\Config\Config;
use Sojf\Config\Cache\File;
// 这里修改为你配置文件的正确路径
$confPath = __DIR__ . DIRECTORY_SEPARATOR . 'conf.yml';
// 这个是缓存文件路径,可以自行修改
$cachePath = __DIR__ . DIRECTORY_SEPARATOR . 'conf.cache.data';
// 实例化缓存器
$cache = new File($cachePath);
// 实例化配置对象
$conf = new Config($confPath, $cache);
// 查看加载结果
echo $conf;
// 获取数据
$session['name'] = $conf['session.name'];
$session['expire'] = $conf->get('session.expire');
// 获取数据时,可以设置默认值,如果获取不到会返回默认值
$default = 'just default value';
$session['default'] = $conf->get('session.null', $default);
// 还可以使用闭包当作默认值,当获取不到数据,会调用闭包
$default = function () {
print_r('这是闭包调用');
};
$session['default'] = $conf->get('session.null', $default);
// 设置数据
$conf['new.value1'] = 'set value1';
$conf->set('new.value2', 'set value2');
// 删除数据
$conf->del('session.gc_probability');
unset($conf['session.gc_divisor']);
/*
* 同步修改回配置文件,
* 你会发现 session.gc_probability session.gc_divisor 不存在了
* */
$conf->sync();
// 可以把数据保存到指定文件
$package = array(
'package' => array(
'issues' => 'https://github.com/sojf/config/issues',
'source' => 'https://github.com/sojf/config'
)
);
// 可以保存成json,ini,php,yml,xml格式的文件,只需要修改后缀即可
$conf->save($package, __DIR__ . DIRECTORY_SEPARATOR . 'package.xml');
/*
* 最后你还会发现多出两个文件
* package.xml 文件是$package数据的保存文件
* conf.cache.data 文件,这个便是缓存文件,如果配置文件没有修改过,就不会再重复解析配置文件了
* */