lorenzoferrarajr/lfj-configuration-builder
最新稳定版本:0.2.2
Composer 安装命令:
composer require lorenzoferrarajr/lfj-configuration-builder
包简介
A PHP library to build array configuration from various sources
README 文档
README
A PHP library to merge configuration arrays.
Installation
The suggested installation method is via composer:
composer require lorenzoferrarajr/lfj-configuration-builder
Usage
Instantiate a ConfigurationBuilder object, add configurations, call the build method to get the merged array. Zend\Stdlib\ArrayUtils::merge is used for merging.
Adding configurations
The ConfigurationBuilder provides various methods that can be used to add configurations:
addFile: to add a single php file returning an arrayaddFiles: to add multiple filesaddDirectory: to add files located inside a directoryaddArray: to add configuration from array
Exceptions
To catch exceptions the build method can be called inside a try block. Available exceptions are:
FileNotExistsExceptionFileNotReadableExceptionNotArrayException: if a configuration file does not return an arrayNotFileException
Examples
For the examples two configuration files are be used: mail.global.php and mail.local.php
<?php // mail.global.php return array( 'mail' => array( 'host' => 'localhost', 'port' => 25 ) );
<?php // mail.local.php return array( 'mail' => array( 'host' => '192.168.1.1', ) );
Building configuration from single files
In this example two files are passed to the ConfigurationBuilder object: first the mail.global.php file and then mail.local.php. The result will be an array containing the port of the first and the host of the second.
$cb = new \Lfj\ConfigurationBuilder\ConfigurationBuilder(); $cb->addFile(__DIR__.'/config/mail.global.php'); $cb->addFile(__DIR__.'/config/mail.local.php'); $config = $cb->build();
Building configuration from multiple files at once
This example is the same as the previous one but files are passed all at once as an array.
$cb = new \Lfj\ConfigurationBuilder\ConfigurationBuilder(); $cb->addFiles(array( __DIR__.'/config/mail.global.php', __DIR__.'/config/mail.local.php', )); $config = $cb->build();
Building configuration from a directory
In this example configuration files are loaded from a directory. The pattern used for file matching is the same as global($pattern, GLOB_BRACE), so first mail.global.php and then mail.local.php.
$cb = new \Lfj\ConfigurationBuilder\ConfigurationBuilder(); $cb->addDirectory(__DIR__.'/config/*.{global,local}.php'); $config = $cb->build();
More information on patterns can be found in the glob documentation.
Building configuration from a directory and array
This example is the same as the previous but before calling the build method a new configuration is provided by passing an array.
$cb = new \Lfj\ConfigurationBuilder\ConfigurationBuilder(); $cb->addDirectory(__DIR__.'/config/*.{global,local}.php'); $cb->addArray(array( 'mail' => array( 'host' => 'other' ) )); $config = $cb->build();
统计信息
- 总下载量: 38
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-09-26