bshirey/hierarchical-config

本包最新版本(v1.1.3)没有提供许可证信息。

提供继承和分层配置工具。

v1.1.3 2015-06-26 15:45 UTC

This package is not auto-updated.

Last update: 2024-10-02 07:52:20 UTC


README

======================

正在准备文档。这是一个辅助创建分层配置的工具,其中配置数据层合并,上层覆盖下层。

如何使用

============

首先,您必须将此库添加到您的项目中。如果您使用的是composer,请尝试以下命令:> composer require bshirey/hierarchical-config:1.*

此库本身并不做太多,但需要在您的项目中进行一些设置。至少,您必须实现自己的ConfigBuilder,并自定义build()函数的实现。ConfigBuilder负责实例化ConfigInterface对象。ConfigBuilder负责以分层的方式堆叠ConfigInterface对象。

例如

    public class MyApplicationConfigBuilder implements ConfigBuilder
    {
        public function build($options = array())
        {
            $config = new GenericConfig($options);
            $config
                ->push(new FileConfig($options))
                ->push(new GlobalsConfig($options))
                ->push(new EnvConfig($options));

            return $config;
        }
        ...

然后您的应用程序需要设置ConfigFactory单例,类似于以下内容

    ConfigFactory::getInstance()
                ->setOptions($options)
                ->setBuilder(new MyApplicationConfigBuilder());

最后,您必须使您的可配置类/对象使用HierarchicalConfig\Configurable特性

    use HierarchicalConfig\Configurable;

    public class MyApplicationClass
    {
       use Configurable;
       ...

如何运行测试

======================

这里简要概述了一些细节。不用说,您需要安装composer、phpunit以及任何依赖项。

  • 如果没有安装,请运行composer install。这将安装项目依赖项。
  • 运行phpunit。
  • 让测试运行。