@246

Как правильно изменить метод в библиотеке?

Здравствуйте

Подскажите, пожалуйста, с проблемой: в проекте все библиотеке тянутся Composerом. В одном методе одного класса одной библиотеки нужно внести изменения. Как правильно это сделать? Вариант закоммитить библиотеку в репо противоречит смыслу использования Composer. Создать новый класс, унаследовать от библиотечного и переопределить в нем нужный метод? Тогда придется переопределять еще больше десятка сопутствующих файлов этой библиотеки, что не очень удобно.

Есть какие-то более правильные варианты? Заранее спасибо
  • Вопрос задан
  • 317 просмотров
Пригласить эксперта
Ответы на вопрос 1
Самый разумный вариант в плане дальнейшей поддержки - форкнуть библиотеку и добавить в зависимости свой форк. Если это хотфикс какого-то бага, то можно и в основную репу его отправить и потом переключиться на нее обратно, когда его примут.
Еще один (костыльный) вариант - скопировать нужный класс в отдельную папку, изменить его поведение, а потом написать скрипт, который после composer update и composer install будет заменять измененным файлом файл из библиотеки. Для этого можно использовать хуки (Спасибо D' Normalization за ссылку).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы