gummmibear/ze-config-manager

This package is abandoned and no longer maintained. No replacement package was suggested.

Zend Expressive Config Manager

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

Library for config PHP application. With simple caching.

Designed for zend-expressive

Installation

Composer

The preferred way to install this extension is through Composer.

Either run

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

or add

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

to the require section of your composer.json

Usage

Config providers

  • PHP
  • Yaml

File name patterns for php files.

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

File name patterns for Yaml files

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

To cache config file you can set cache dir otherwise will be used default value for cache file.

//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);

See Example/config.php.