【发布时间】:2020-03-11 18:40:41
【问题描述】:
我有一个使用 Laravel 5.2 开发的旧网站,由于各种原因无法升级。
我有一个供应商包,在一个ServiceProvider 的boot() 方法中,有这一行:
$this->loadMigrationsFrom($somewhere);
...但是这种方法在 Laravel 5.2 中不存在。
覆盖这个错误的方法调用的最干净方法是什么?
我突然想到,我可能只是能够编写一个新的服务提供者类来替换这个类,因为它真的似乎所做的只是注册一个控制台命令。但是有没有办法“覆盖”它?
【问题讨论】:
-
我认为您只需要在 composer.json 文件中限制依赖版本,以防止需要
loadMigrationsFrom的 ServiceProvider 版本 -
Hmmmm... 希望有这样的版本,而电话一直没有在那里? ……嗯,考虑到这个包的性质,这并不是一个好主意。看起来开发人员随着时间的推移对其进行了很多更改,我不想回到这些更改中。添加对“loadMigrationsFrom()”的调用结果只是众多更改中的一个。不过,谢谢你的想法。