【问题标题】:Laravel 5: AppServiceProvider vs custom providerLaravel 5:AppServiceProvider 与自定义提供程序
【发布时间】:2017-09-07 19:04:00
【问题描述】:

几天前我开始学习 Laravel,但我无法理解一种机制:有 AppServiceProvider,我可以在其中注册(绑定)我的自定义类、接口等。但是在许多教程中,当作者创建自定义类进行注册时他们还创建自定义服务提供者类,而不是在 AppServiceProvider 中使用“注册”方法。而且我想不通,为什么他们不使用 AppServiceProvider?

另外,我查看了其他内置的服务提供者,发现有一些在official guide 中没有描述的方法和字段(例如,AuthServiceProvider 具有受保护的 $policies 字段)。也许,理解这一点有助于我理解,我可以在哪里使用标准提供者以及在哪里自定义?但我无法通过谷歌搜索任何回答此问题的链接。

感谢您的回答。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    主要是关于代码的可读性。您可能只需将所有内容都放在AppServiceProvider 中即可,但随着时间的推移,该文件将非常长且难以定位,因此您可能希望将内容分开并为应用程序逻辑的每个部分制作自定义 ServiceProviders .

    【讨论】:

      【解决方案2】:

      如何构建文件和文件夹完全取决于您。至于我,我尝试使我的文件模块化(在它自己的模块中分离一个功能,例如身份验证是一个模块)。与此模块相关的服务提供者分组将位于单独的服务提供者中,以避免混淆 AppServiceProvider。

      【讨论】:

        猜你喜欢
        • 2020-12-30
        • 1970-01-01
        • 2015-11-02
        • 1970-01-01
        • 2015-09-12
        • 2018-08-08
        • 2021-03-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多