В телеграм канале https://t.me/laravelrus встретил такой вопрос: и сам же Евгений нашёл решение: Laravel – How to override vendor class file? а я делюсь им с вами. потому что иногда такая хотелка возникает, ну как "попробовать что если...". Чтобы потом pull request с исправлением автору отправить.
Нууу... хз... как по мне: если задача изначально вызывает такие вот хитромудрые вопросы требующие хитромудрых решений, то скорее всего она просто как-то некорректно сформулирована. Ну типа того челика, который недавно json пытался регулярками парсить))) (я этот код теперь на всю жизнь запомню))))) Хотя, конечно, я не такой знаток ООП как Елисеев
Это решение не для продакшена! Просто трюк на время тестирования. Бывает такое, что библиотечные классы чем-то не устраивают. Находишь там багу или негибкость и думаешь, что мог бы исправить. Вариант "отредактировать в папке vendor" ну совсем не вариант. Утащить всю библиотеку в /app/, сделать своей чтобы исправить фатальный недостаток? Этот путь тоже как-то не очень. А тут можно один класс попробовать подсунуть свой, если уж не выходит его отнаследовать и использовать наследника. Попробовал и сделал вывод, надо ли просить мейнтейнера поправить или создать свой публичный форк или проблема только на твоей стороне и можно её решить иначе. Вот как-то так.