如何在运行时从包中取消注册或覆盖已注册的ServiceProvider



我注册了我自己的自定义FormBuilder和HtmlBuilder类,它们在composer包中扩展了本地Laravel对应类。但是,我很难在运行时让它们在我的应用程序中被识别,而不手动从app.php配置中的提供商数组中删除'IlluminateHtmlHtmlServiceProvider'

我需要能够在运行时以某种方式实现这一点。

  1. 是否有办法在运行时覆盖已注册的服务提供者?
  2. 如果没有,有没有办法在运行时删除已注册的服务提供者?
  3. 是否有更好/更有效/更高效的方法来实现这一点?

这个数组的全部意义在于,你可以用你自己的…继续更改/删除它:)

如果你想从服务提供商中删除一个服务,只需将其设置为null。或者,用你的服务代替它。

app()->instance(SomeClass::class, null);

相关内容

  • 没有找到相关文章

最新更新