rozehnal / environment-parameters
Composer script building your detached parameters for deploying the app. Built above the great incenteev/composer-parameter-handler library.
Installs: 3 624
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/rozehnal/environment-parameters
Requires
- php: >=5.3.3
- incenteev/composer-parameter-handler: ~2.0
- symfony/filesystem: ~2.6|~3.2
- symfony/yaml: ~2.3|~3.0
Requires (Dev)
- composer/composer: 1.0.*@dev
- mikey179/vfsstream: ~1.6
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2025-11-09 08:20:08 UTC
README
This tool allows you to manage app parameters for deployment in separate repositories. The repo is fully compatible with all parameters from https://github.com/Incenteev/ParameterHandler.
Run
composer run-script build --no-interaction -- --env=prod
Usage
Add the following in your root composer.json file:
{
"require": {
"rozehnal/environment-parameters": "0.x-dev"
},
"scripts": {
"build": [
"Paro\\EnvironmentParameters\\ParametersHandler::buildParameters"
]
},
"extra": {
"environment-parameters": {
"build-folder": "build",
"files": [
{
"file": "{env}/key.{env}.p12",
"name": "key.p12"
}
],
"incenteev-parameters": {
"file": "parameters.yml",
"env-map": {
"path": "PATH"
}
}
}
}
}
The build/parameters.yml will then be created
composer script, to match the structure of the dist file parameters.yml
by asking you the missing parameters.
Supported syntax
- Fully compatible with https://github.com/Incenteev/ParameterHandler
"%env(ENV_VARIABLE)%"syntax in*.ymlfilesimportsin*.ymlfiles
imports:
- { resource: 'include.yml' }
Hierarchical structure
{
"extra": {
"environment-parameters": {
"files": [
{
"file": "{env}/key.p12",
"name": "key.p12"
}
],
"incenteev-parameters": {
"file": "{env}/parameters.yml"
}
}
}
}
composer run-script build --no-interaction -- --env=test/test01
Files are searched in order test/test01/key.p12, test/key.p12
and test/test01/parameters.yml, test/parameters.yml. It means you are able to build configuration
on inheritence from parent folders with overriding details in children folders. Applicable for both -
files and *.yml files.
Output formats [yaml, php-constants]
Default output format is well-knownyaml file. Currently there is possible to create php
file where each parameter defines constant - define(key, value).
{
"extra": {
"environment-parameters": {
"incenteev-parameters": {
"file": "{env}/parameters.yml",
"name": "parameters.php",
"output-format": "php-constants"
}
}
}
}
Example
https://github.com/rozehnal/environment-parameters-test