В ZendFramework2 конфигурации из всех модулей всегда объединяются.
Кроме того, существует глобальная конфигурация, которая может перезаписывать конфигурацию модуля.
Таким образом, включение модуля вендора приводит к конфигурации по умолчанию, которую вы можете и должны перезаписать с помощью вашей глобальной конфигурации.
Глобальная конфигурация может состоять из нескольких файлов, что позволяет легко различать настраиваемые модули.
Первый пример, который у меня есть, это статья akrabat о конфигурации модуля и переопределениях .
Другим хорошим примером этого паттерна является быстрый старт Акрабата (https://github.com/akrabat/zf2-tutorial):
- один модуль приложения, основанный на ZendSkeletonApp
- один модуль Альбом, часть, которую вы на самом деле сделали.
В модуле приложения есть конфиг для базовой маршрутизации, настроены виды и макет
В модуле Album есть только настройка для вещей, относящихся к Album (например, внедрение зависимостей), представление и маршрутизация используются из конфигурации App-modules.
Вы можете решить перезаписать этот конфиг отдельно для каждого модуля или глобально, в макете проекта по умолчанию ваши конфиги размещаются так:
/config/application.config.php
базовая конфигурация
/config/autoload/*.config.php
может использоваться для перезаписи модулей или конфигурации приложения (например, для локальной разработки)
/module/[your-module]/config/[your-module].config.php
стандартная конфигурация вашего модуля
/vendor/[vendor-module]/config/[vendor-module].config.php
модуль, который вы добавили, но у которого есть определения для внедрения зависимостей. если он использует, например, база данных, которую вы хотите перезаписать некоторые параметры в вашем /config/autoload/*