Как переопределить контроллеры в плагинах Pimcore
В одном из моих проектов у меня установлен сторонний плагин. Плагины, с моей точки зрения, являются обычным модулем в смысле Zend Framework (в данном случае - версия платформы 1.12).
Есть ли способ переопределить контроллеры, поставляемые с плагином, с моей собственной реализацией без изменения самого модуля? Я подумал о чем-то вроде "Сначала проверьте контроллер из определенного пространства имен; если он не существует, вернитесь к контроллеру из модуля".
В конечном итоге я пытаюсь добиться расширения модуля "скрытым" или прозрачным способом, чтобы мне не приходилось менять маршрутизацию по умолчанию, и приложение все равно будет выглядеть и работать так же с точки зрения пользователей.
Если это невозможно, какова лучшая практика для расширения плагина Pimcore или модуля Zend в целом?
1 ответ
При переопределении функций плагина вы должны создать свой собственный класс и расширить его: https://www.pimcore.org/docs/latest/Extending_Pimcore/Parent_Class_for_Objects.html
При необходимости вы можете использовать DI https://www.pimcore.org/docs/latest/Extending_Pimcore/Dependency_Injection.html чтобы всегда создавать экземпляр вашего класса переопределения, который может / должен расширять или использовать, а затем обратно класс источника.