laravel扩展包服务提供者的注册的两种方式

时间:2021-04-09 17:11:44

一、

包自动发现

在 Laravel 应用的配置文件 config/app.php 中,providers 配置项定义了一个会被 Laravel 加载的服务提供者列表。当安装完新的扩展包后,在老版本中需要将扩展包的服务提供者添加到这个列表以便被 Laravel 使用。从 Laravel 5.5 开始,我们不必再手动添加服务提供者到该列表,而是将提供者定义到扩展包下 composer.json 文件的 extra 选项中,除了服务提供者之外,我们还可以以这种方式注册门面

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

定义好之后,在安装扩展包之后 Laravel 就会自动注册相应的服务提供者和门面,从而为扩展包使用者提供一个更加便捷的安装体验。

但是发现提供者里面要发布的选项在执行vendor:publish的时候没有显示

二、在config/app.php中直接添加解决