在JAVA 开发中,我们如果要使用一个第三方包,需要把它加入到构建路径中。

但是在laravel中,有这样一个功能:

扩展包发现

在 Laravel 应用程序的 config/app.php 配置文件中,providers 选项定义了应该被 Laravel 加载的服务提供者的列表。当有人安装你的扩展包时,你需要让你的服务提供者包含在这个列表里。而不是要求用户手动将你的服务提供者添加到这个列表里,你可能需要在你扩展包 composer.json 文件的 extra 部分的定义这些提供者。除了服务提供者,你也要列出可能想要注册的 facades:

"extra": {
    "laravel": {
        "providers": [
            "Barryvdh\\Debugbar\\ServiceProvider"
        ],
        "aliases": {
            "Debugbar": "Barryvdh\\Debugbar\\Facade"
        }
    }
},

当 Laravel 安装的时候,一旦发现你的扩展包被配置,Laravel 将会自动的注册它的服务提供者和 facades,为扩展包的用户提供一个方便的安装体验。

有了这个,在使用包时就可以直接

use Debugbar;

而不用再在config/app.php配置,或者是

use Barryvdh\Debugbar\Facade\Debugbar;

这么麻烦了。

Last modification:July 27, 2018
If you think my article is useful to you, please feel free to appreciate