1 The configuration file
Please have a look into the source code The file is pretty well documentated and much more up to date then this guide.
2 Environment related configurations
Beside using that one configuration file you also can seperate certain config settings for specific environments.
For example: You want to enforce SSL in production, while in your development environment you don’t.
Its easy to achieve by setting up a second configuration file for development which contains nothing but the ssl enforcing setting.
Your apps default config:
Environment specific config:
When running your application in development mode both config files get merged, while the environment specific config takes precedence over the default config.