Я управляю общедоступным приложением PHP, которое мы настроили самостоятельно. Он может использовать много плагинов / и т.д., которые написаны другими людьми. Все они получают обновления доступны.
Можно ли написать независимую утилиту исправлений, которая реинтегрирует наш код настройки после обновления основного приложения и плагинов / и т. Д.? Если да, что может быть хорошим решением? Я полностью согласен с тем, чтобы сохранить отдельные блоки кода настройки в отдельном месте, чтобы этот «инструмент» мог их найти и использовать.
Есть несколько альтернативных способов добиться этого:
Традиционный: вы можете использовать GNU diff
/patch
утилиты для создания файла исправления с различиями между вашей настроенной версией и версией vanilla, установкой обновлений и последующим применением исправления к уже обновленной.
Наследование. Предполагая, что приложение использует парадигму ООП, вместо того, чтобы изменять базовые классы приложения, вы можете расширить классы своими собственными, чтобы ваши настройки можно было отделить от основных файлов, поэтому при обновлении приложения ядро будет быть обновленным и ваши настройки остались нетронутыми
Кэширование: вы можете реализовать функциональность, аналогичную OpenCart vQmod который объединяет ваши настройки с основным программным обеспечением, создавая динамически объединенные версии в кеше .php
файлы, которые запускаются вместо оригинальных основных, таким образом, вы можете запустить измененное ядро без изменения оригинала.
Других решений пока нет …