Symfony parameters list
parameters files are very neat but you should know how to use them. Let’s focus on how to keep track of the full list of your application parameters.
A list of all parameters
An interesting question that often arises is: ok, I use different parameters on each server / environment, but how do I keep an official list of all parameters? This is especially important when new parameters are added later during development.
A quick solution is to set dummy (not sensitive) parameters in the parameters.yml file, and then override them in:
and so on.
You commit the main parameters.yml, since it’s only used as a reference list and does not contain actual data.
But we can do better: this solution has been standardized with the use of a special file. Let’s see how it works.
The “dist” file
Turns out Symfony already provides a
parameters.yml.dist file whose purpose is exactly to act as a reference.
All parameters are listed there, with – where it makes sense – a sensible default value. This file is committed and deployed with the application, so be extra careful not to put any password, api key, secret in this file.
Even more interesting is the fact that – since Symfony 2.3 – a special bundle will check this file during
composer install and:
- it creates a default
parameters.ymlfile if it’s missing
- ask you to define values for all parameters defined in the dist file which are missing in your local parameters file.