gummmibear/ze-config-manager

此包已 废弃 并不再维护。未建议替代包。

Zend Expressive 配置管理器

v1.0 2017-01-16 23:23 UTC

This package is not auto-updated.

Last update: 2023-08-28 09:56:22 UTC


README

Build Status

配置PHP应用程序的库。具有简单缓存。

专为 zend-expressive 设计

安装

Composer

安装此扩展的首选方式是通过 Composer

运行以下命令之一:

composer require gummmibear/ze-config-manager dev-master

或者将以下内容添加到你的 composer.json 的 require 部分

"gummmibear/ze-config-manager": "dev-master"

to the require section of your composer.json

使用方法

配置提供者

  • PHP
  • Yaml

PHP 文件的文件名模式。

  • *.global.php
  • *.local.php

Yaml 文件的文件名模式

  • *.yml,
  • *.global.yml
  • *.local.yml

要缓存配置文件,可以设置缓存目录,否则将使用缓存的默认值。

//config/config.php
<?php

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

use Zend\Expressive\Config\ConfigManager;
use Zend\Expressive\Config\ConfigFileProviderFactory;
use Zend\Expressive\Config\ConfigFileProviderManager;

$configFileProviderFactory = new ConfigFileProviderFactory(__DIR__ . '/autoload/');
$configFileProviderManager = new ConfigFileProviderManager($configFileProviderFactory);

$routingFileProviderFactory = new ConfigFileProviderFactory(__DIR__ . '/routing/');
$routingFileProviderManager = new ConfigFileProviderManager($routingFileProviderFactory);

$configManager = new ConfigManager(__DIR__);
$configManager->setCacheFile('/cache/config_cache.php');
$configManager->registerProviders($configFileProviderManager->createDefaultProviders());
$configManager->registerProviders($routingFileProviderManager->createDefaultProviders());
$config = $configManager->getConfig();

return new ArrayObject($config, ArrayObject::ARRAY_AS_PROPS);

参见 Example/config.php。