Задать вопрос
@246

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

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

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

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