打包服务提供商和应用程序服务提供商有什么区别?

时间:2019-04-05 02:39:09

标签: laravel

在config / app.php文件中,我找到了以下注释:

    /*
     * Package Service Providers...
     */

    /*
     * Application Service Providers...
     */

我想添加一些其他提供程序。我应该在哪里添加它们?

3 个答案:

答案 0 :(得分:2)

打包服务提供商是您可以编写第三方服务提供商的地方。

应用程序服务提供商包含Laravel的默认服务提供商。

对于其他服务提供商,我将它们存储在Thread.sleep()文件夹中,或者您可以创建自己的文件夹结构。不管它们存储在哪里。

答案 1 :(得分:2)

这些评论只是为了使事情分开。随应用程序一起提供的所有服务提供商,同时会受到以下注释:

onChangeEvent(eventValue, valueOfCheckbox){
  alert(valueOfCheckbox);
}

另一方面,您在应用程序上安装的软件包可能具有自己的服务提供商。您可能需要在Laravel中注册那些提供程序(尽管新的Laravel版本通常不需要这些,因为会自动发现软件包)。因此,那些打包服务提供者将进入“打包服务”注释,例如:

/*
 * Application Service Providers...
 */

App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\EventServiceProvider::class,

但是,这些只是评论而已。这些只是为了使事情分开并易于查找。您不需要对它们非常严格。如果需要,您甚至可以删除它们并组织自己的结构。

答案 2 :(得分:1)

您可以在'providers'括号内添加任何地方。

'providers' => [
    // ...

    /*
     * Application Service Providers...
     */
    App\Providers\AppServiceProvider::class,
    App\Providers\RouteServiceProvider::class,

    /*
     * My Custom Service Providers...
     */
    App\CustomProviders\CustomServiceProvider::class,
    App\Library\LibraryServiceProvider::class,

];