caiola/config

Easy PHP config 允许您通过从操作系统读取环境和您定义的公共变量来配置设置

1.0.6 2018-01-15 17:58 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:20:59 UTC


README

Config 是一个简单且易于使用的 PHP 类,允许您通过允许从操作系统读取环境和您定义的公共变量来配置设置。

安装

简单安装

composer install caiola/config

如何使用

使用 composer 自动加载并使用它

获取和覆盖环境变量

<?php

// Autoload files using Composer autoload
$loader = require_once __DIR__ . '/vendor/autoload.php';

use Caiola\Config\Config as Config;

Config::getInstance()->setImmutable(false);
Config::getInstance()->setUseEnvironment(true);

echo "# windir: " . Config::getInstance()->windir . PHP_EOL;

Config::getInstance()->windir = 'c:\\win\\';

echo "# windir: " . Config::getInstance()->windir . PHP_EOL;

结果

# windir: C:\WINDOWS
# windir: c:\win\

获取和设置不可变的环境变量

<?php

// Autoload files using Composer autoload
$loader = require_once __DIR__ . '/vendor/autoload.php';

use Caiola\Config\Config as Config;

// Allow to read environment variables
Config::getInstance()->setUseEnvironment(true);

// Allow to override environment variables
Config::getInstance()->setImmutable(true);

// Configuration example
$databases = array(
    'error_log' => '/var/log/error_log',
    'master'    => array(
        'host' => '127.0.0.1',
        'port' => '3306',
        'user' => 'root',
        'pass' => 'pass',
        'db'   => 'dbapp'
    )
);

Config::getInstance()->set($databases);

// Obtain configuration values through several methods
$cfg = new Config();
echo "# db master: " . $cfg->master['db'] . PHP_EOL;
echo "# db master: " . Config::getInstance()->master['db'] . PHP_EOL;
echo "# db master: " . Config::getByKey("master.db") . PHP_EOL;

echo "# error_log: " . $cfg->error_log . PHP_EOL;
echo "# error_log: " . Config::getInstance()->error_log . PHP_EOL;
echo "# error_log: " . Config::getByKey("error_log") . PHP_EOL;

echo "# windir: " . $cfg->windir . PHP_EOL;
echo "# windir: " . Config::getInstance()->windir . PHP_EOL;
echo "# windir: " . Config::getByKey("windir") . PHP_EOL;

结果

# db master: dbapp
# db master: dbapp
# db master: dbapp
# error_log: /var/log/error_log
# error_log: /var/log/error_log
# error_log: /var/log/error_log
# windir: C:\WINDOWS
# windir: C:\WINDOWS
# windir: C:\WINDOWS