随便找几个Laravel的包,读下它们提供的 readme 文件,看看你是否能发现一些共同点。基本上每个Laravel 安装包都包含以下步骤:
安装包:
composer require foo/bar
在 app.php 中注册服务器提供者:
Foo\Bar\ServiceProvider::class,
有时候也需要注册Facade (门面)
'Bar' => Foo\Bar\Facade::class,
这些步骤并不困难,但是你总得按它的要求来,以前,人们必须通过发布自己的软件包安装程序来解决这个问题。但是这种状况不会永远停滞不前。
在Laravel 5.5 中引入了全新的在 composer.json 中注册包的服务器提供者和别名的方式,这样做我们可以省去上面每个步骤的麻烦。
如果你是个包开发者,你可以看看Taylor 的帖子(关于此特性的), 你可以看到一个给 Debugbar 提交的 pull request,演示了如何设置,或者你可以将下面的添加到你的 composer.json 中
"extra": {
"laravel": {
"providers": [
"Foo\\Bar\\ServiceProvider"
],
"aliases": {
"Bar": "Foo\\Bar\\Facade"
}
}
}
包自动发现只是一个小小的改进,但是它让安装包更简单更流畅。
翻译至:Laravel Package Auto-Discovery
欢迎批评指正!
转载请注明:大后端 » Laravel 5.5 支持了包自动发现