On the VG Tech blog they show how, instead of copy and pasting configuration settings all across their Zend Framework v2 application, they used inheritance to specify just the differences.
When working on Zend Framework 2 applications you might come across situations where you need to differentiate the application configuration for the different application environments, be it development, staging, testing and/or production. This can be cache TTL's, Memcached hosts, Redis hosts, debugging levels and more. Instead of copy/pasting the complete configuration across multiple "environment"-configuration files or having switches in the code. [...] We wanted to use inheritance so that for instance the staging environment would inherit the complete production environment, with the exception of some caching configuration which we want to override in the staging configuration.
They show how to set up the default configuration files for the application and models as well as how to pull in the environment-specific values and overwrite them in the "$config" set. He also links to another post showing how to cache all of this configuration (involving a lot of files) to help with performance.