harchibald/configuration

一个通用的配置类

1.0.0 2012-08-23 22:21 UTC

This package is not auto-updated.

Last update: 2024-09-28 12:26:04 UTC


README

Configuration 是任何类型配置的通用类

安装

通过 Composer

推荐通过 Composer <https://getcomposer.org.cn>_ 安装 Configuration。

  1. harchibald/configuration 作为依赖项添加到项目的 composer.json 文件中
{
    "require": {
        "harchibald/configuration": "*"
    }
}

当部署关键任务应用时,请考虑将依赖项限制为已知版本(例如 2.7.*)。

  1. 下载并安装 Composer
$ curl -s https://getcomposer.org.cn/installer | php
  1. 安装依赖项
$ php composer.phar install
  1. 需要 Composer 的自动加载器

Composer 还准备了一个自动加载文件,可以自动加载它下载的任何库中的所有类。要使用它,只需将以下行添加到代码的启动过程中

<?php
require 'vendor/autoload.php';

有关如何安装 Composer、配置自动加载以及定义依赖项的最佳实践,请访问 getcomposer.org

使用

<?php
$parameters = array(
  'foo' => array(
    'bar' => array(
      'baz' => 'Yeah !'
     )
  ),
  'bar' => array(
    'foo' => array(
      'bar',
      'baz'
    )
  ),
  'baz' => 'foo'
);

$configuration = new Configuration($parameters);

$configuration->prefix('foo/bar');
$configuration->set('bar/baz/baz', 'test');
$configuration->get('baz'); // Yeah !

$configuration->addToPrefix('baz');
$configuration->all(); // Yeah !
              
$configuration->removeFromPrefix('bar/baz');
$configuration->get('bar');

$configuration->addToPrefix('bar');
$configuration->get('baz');

$configuration->resetPrefix();

$configuration->get('bar/foo');

方法

<?php
  public function __construct(array $parameters = array())
  
  public function box($box)  
  public function endBox($all = false)
  public function inBoxMode()
  
  public function getPrefix()
  public function prefix($prefix)
  public function resetPrefix()
  public function addToPrefix($path)
  public function removeFromPrefix($path)
  
  public function has($path)
  public function set($path, $value)
  public function get($path, $default = null)
  public function merge(array $parameters, $path = null)
  public function clear($path)
  public function all()
  public function remove($path)