RCM Config
Extend the functionality of ZF2 config as well as allow config sources to be changed
- Models my be written and injected to pull from any source by category
- ZF2 ConfigModel and Doctine ConfigModel is available by default
- Allows for config sources to be changed without impact to existing code
- Allows for a standard for storing config values
<?php
// Example of a config array as might be defined in ZF2 config
'Reliv\RcmConfig' => [
'myCategory' => [
'_DEFAULT' => [
'myPropertyName1' => 'my value',
'myPropertyName2' => ['my value1', 'my value2'],
],
'myContext' => [
'myPropertyName1' => 'my value over-ride',
]
]
],
// Example of defining a model for a category
'Reliv\RcmConfig\Models' => [
'myCategory' => \Reliv\RcmConfig\Model\ConfigModel::class,
],
<?php
/** Using /Zend\ServiceManager/ServiceManager as $serviceLocator */
$configService = $serviceLocator->get(\Reliv\RcmConfig\Service\ConfigService::class);
$value = $configService->getValue(
'myCategory',
'myContext',
'myPropertyName1'
);
/** Outputs: 'my value over-ride' */
var_dump($value);
$value = $configService->getValue(
'myCategory',
'myContext',
'myPropertyName2'
);
/** Outputs: ['my value1', 'my value2'] */
var_dump($value);
/** Other Methods */
var_dump(
'getList',
$cs->getList('myCategory'),
'getAll',
$cs->getAll('myCategory', 'myContext'),
'getDefault',
$cs->getDefault('myCategory'),
'getListValue',
$cs->getListValue('myCategory', 'myPropertyName1'),
'getPrimary',
$cs->getPrimary('myCategory', 'myContext')
);
James Jervis
https://github.com/reliv/rcm-config
Copyright (c) 2015, Reliv' International