kpacha/config
最新稳定版本:v0.1.2
Composer 安装命令:
composer require kpacha/config
包简介
Resilent configuration system for service discovering
README 文档
README
A simple config module integrated with some service discovery system clients for php
This project is an abstraction of the initial versions of suricate-config.
#Requirements
- git
- PHP >=5.3.3
##Optional dependencies (depending on your service discovering flavour)
(so check their dependencies!)
#Installation
##Standalone
##As a library (recomended)
Include the kpacha/sconfig package in your compose.json with all the dependencies of your project
"require":{
"kpacha/config": "~0.1"
}
###Git installation
Clone the repo
$ git clone https://github.com/kpacha/config.git
Install the php dependencies
$ cd config
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install
and add one of the recommended dependencies
$ php composer.phar require kpacha/suricate-config
###Composer installation
Create a project with composer
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar create-project kpacha/config [directory]
and add one of the recommended dependencies
$ cd [directory]
$ php composer.phar require kpacha/suricate-config
Remeber to set the [directory] parameter or composer will create the project in your current path.
#Config files
Note that config expects to find all your config files in a single dir. Currently, yaml is the only supported format for config files.
Also, you should keep in mind those rules:
- All parsed config files will be cached in a single native php config file called
config_file.php. - Every parsed config file will be stored in an array, indexed by its basename.
- The
configmodule uses theSymfony\Component\Config\ConfigCacheclass to manage the cached configuration, so it will create a.metafile with some info about the cached files. - The
configmodule expects to find a config file calledsuricate_services.ymlwith some required info (check the tests/fixtures dir for an example) - The service manager will create a config file called
services_solved.ymlfile. Please, do not play with it.
##services.yml
The required fields are:
- service-manager: the class of the service manager to handle the discovering tool (suricate or consul)
- server: the url of the suricate server or the consul agent
- service-names: the list of services to watch
- default: the default configuration to use when the suricate server is not reachable
#Usage
##Config module
Create a Kpacha\Config\Configuration object.
use Kpacha\Config\Configuration;
$configuration = new Configuration('/path/to/your/config/folder', true);
And you're ready to go! Just ask for your config data whenever you need it.
$someModuleConfig = $configuration->get('some-module');
try{
$configuration->get('unknown-module'); // unknown-module.yml does not exist
} catch(\Exception $e){
// do something
}
##Console
The config packages exposes a clean CLI interface so you could add a cron to update the service info querying the service discovering server/agent for the services listed in the service-name area of your services.yml file with
$ bin/config c:u /path/to/config/dir
Run the config script to trigger any console command.
统计信息
- 总下载量: 69
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-04-04