如何在运行时从程序包中注销或覆盖已注册的ServiceProvider?

问题描述 投票:1回答:2

我正在注册自己的自定义FormBuilder和HtmlBuilder类,它们在composer程序包中扩展了与Laravel对应的本地类。但是,我很难在不手动从app.php配置中的providers数组中删除'Illuminate\Html\HtmlServiceProvider'的情况下,在运行时在我的应用程序中识别它们。

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

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

我正在注册自己的自定义FormBuilder和HtmlBuilder类,它们在composer程序包中扩展了与Laravel对应的本地类。但是,我很难让他们被认可...

laravel laravel-4 composer-php service-provider
2个回答
0
投票

该数组的全部内容是,因此您可以用自己的替换替换依赖项...继续进行更改/删除它:)


0
投票

如果要从服务提供商中删除服务,只需将其设为null。或者,将其替换为您的服务。

© www.soinside.com 2019 - 2024. All rights reserved.