我注册了我自己的自定义FormBuilder和HtmlBuilder类,它们在composer包中扩展了本地Laravel对应类。但是,我很难在运行时让它们在我的应用程序中被识别,而不手动从app.php配置中的提供商数组中删除'IlluminateHtmlHtmlServiceProvider'
。
我需要能够在运行时以某种方式实现这一点。
- 是否有办法在运行时覆盖已注册的服务提供者?
- 如果没有,有没有办法在运行时删除已注册的服务提供者?
- 是否有更好/更有效/更高效的方法来实现这一点?
这个数组的全部意义在于,你可以用你自己的…继续更改/删除它:)
如果你想从服务提供商中删除一个服务,只需将其设置为null。或者,用你的服务代替它。
app()->instance(SomeClass::class, null);