Как и вы, я не вижу очевидного способа отключить плагин в разделе конфигурации, который был зарегистрирован в родительском разделе.Было бы здорово, если бы Zend_Config_Ini
допускало множественное наследование, вроде как элемент HTML может использовать несколько классов CSS в атрибуте class.(Неужели? Думаю, нет).Затем вы можете поместить регистрацию плагина в один раздел [myplugsection]
, разрешить [production]
расширять [myplug]
, в то время как [cli]
нет, вроде как в Doctrine есть actAs
шаблонов и поведений.
Следующим лучшим вариантом может стать создание раздела под названием [core], содержащего большую часть того, что вы сейчас имеете в [production]
.И [production]
, и [cli]
могут расширять [core]
, но [production]
будет регистрировать плагин, а [cli]
- нет.
Конечно, альтернативой может быть перемещение регистрационного модуля в Bootstrap.где у вас есть более точный контроль регистрации плагина.В частности, вы можете позвонить $front->unregisterPlugin()
, где $front
- это FrontController
.
Просто мысли вслух ...
Приветствия!