You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
zhishifufei_php/vendor/clagiordano/weblibs-configmanager
wangmingchuan b4e4475dbf 111 10 months ago
..
src 111 10 months ago
tests 111 10 months ago
testsdata 111 10 months ago
.gitignore 111 10 months ago
.travis.yml 111 10 months ago
README.md 111 10 months ago
composer.json 111 10 months ago
composer.lock 111 10 months ago
phpunit.xml 111 10 months ago

README.md

BuildStatus License

weblibs-configmanager

weblibs-configmanager is a tool library for easily read and access to php config array file and direct read/write configuration file / object.

SensioLabsInsight

Why use weblibs-configmanager ?

The purpose of this project is to propose a simple and lightweight library to manage php hierarchical configuration files.

Installation

The recommended way to install weblibs-configmanager is through Composer.

composer require clagiordano/weblibs-configmanager

Usage examples

Write a sample config file like this

<?php

return array (
  'app' => 'app_name',
  'db' => 
  array (
    'host' => 'localhost',
    'user' => 'sample_user',
    'pass' => 'sample_pass',
    'port' => 3306,
  ),
  'other' => 
  array (
    'multi' => 
    array (
      'deep' => 
      array (
        'nested' => 'config_value',
      ),
    ),
  ),
);

Instance ConfigManager object

use clagiordano\weblibs\configmanager\ConfigManager;

/**
 * Instance object to read argument file
 */
$config = new ConfigManager("configfile.php");

Check if a value exists into config file

/**
 * Check if a value exists into config file
 */
$value = $config->existValue('app');

Read a simple element from config file

/**
 * Read a simple element from config file
 */
$value = $config->getValue('app');

Access to a nested element from config

/**
 * Access to a nested element from config
 */
$nestedValue = $config->getValue('other.multi.deep.nested');

Change config value at runtime

/**
 * Change config value at runtime
 */
$this->config->setValue('other.multi.deep.nested', "SUPERNESTED");

Save config file with original name (OVERWRITE)

/**
 * Save config file with original name (OVERWRITE) 
 */
$this->config->saveConfigFile();

Or save config file with a different name

/**
 * Save config file with original name (OVERWRITE) 
 */
$this->config->saveConfigFile('/new/file/name/or/path/test.php');

Optionally you can also reload config file from disk after save

/**
 * Optionally you can also reload config file from disk after save
 */
$this->config->saveConfigFile('/new/file/name/or/path/test.php', true);

Load another configuration file without reinstance ConfigManager

/**
 * Load another configuration file without reinstance ConfigManager
 */
$this->config->loadConfig('another_config_file.php');

Copyright (C) Claudio Giordano claudio.giordano@autistici.org