rstgroup / zf-local-config-module
Module responsible for adding custom config.
Requires
- php: ^5.6 || ^7
- zendframework/zend-mvc-console: ^1.1
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-11-10 04:17:21 UTC
README
This module allows you to dynamically adjust configuration of your application via command-line interface.
Installation
Require module with Composer:
composer require rstgroup/zf-local-config-module
The next step is adding module to ZF system configuration (config/application.config.php
):
return [ 'modules' => [ (...), 'RstGroup\ZfLocalConfigModule', ], (...) ]
... and providing the required configuration in your application's config:
return [ 'rst_group' => [ 'local_config' => [ 'filename' => 'config/autoload/dynamic-config.local.php' ], ], ];
Usage
The module provides command-line commands to help managing local, dynamically generated, application configuration.
Setting configuration
Setting configuration is as simple as writing the line:
php public/index.php local-config set path.to.value string-value
This will result in writing the code into config/autoload/dynamic-config.local.php
file:
return [ 'path' => [ 'to' => [ 'value' => 'string-value' ], ], ];
By default, all values passed via command line are treated as strings. To set value of any simple type, you can use JSON
notation. To enable it, just add --json
flag.
Look at some of the examples below:
# setting a number php public/index.php local-config set path.to.value 1234 --json # setting null php public/index.php local-config set path.to.value null --json
JSON notation can also be used to set a structure or an array in given path:
# setting an array php public/index.php local-config set array "[1,2,3,4]" --json # setting complex structure php public/index.php local-config set structure '{"complex":{"structure":{"x":"y"},"x":null}}' --json
The result of these two commands ran one after another would be a config/autoload/dynamic-config.local.php
file like:
return [ 'array' => [ 1, 2, 3, 4 ], 'complex' => [ 'structure' => [ 'x' => 'y' ], 'x' => null, ], ];