Laravel 包自动发现
发布时间 作者 Eric L. Barnes
出去找一些 Laravel 包,并浏览每个包的自述文件,看看你是否注意到任何共同点。 我会给你一个提示:每个 Laravel 包都概述了以下步骤
安装包
composer require foo/bar
在 app.php 中注册提供程序
Foo\Bar\ServiceProvider::class,
可选地,注册 Facade
'Bar' => Foo\Bar\Facade::class,
这些步骤并不难,但它始终是必需的,在过去,人们不得不通过发布自己的 包安装程序 来解决这个问题,但这从未流行起来。 可能是因为它没有得到框架的直接支持。
所有这一切都在改变,即将在 Laravel 5.5 中推出,这是一种全新的方法,可以让包在包的 composer.json 文件中注册它们的 服务提供商和别名。 这省去了我们执行上述所有步骤的麻烦。
如果您是包开发者,您可以查看 Taylor 的文章 并查看 提交给 DebugBar 的拉取请求 ,该请求演示了如何设置或将此添加到您的 composer.json
"extra": { "laravel": { "providers": [ "Foo\\Bar\\ServiceProvider" ], "aliases": { "Bar": "Foo\\Bar\\Facade" } }}
包自动发现是一个小的改变,但它将使安装包比以往任何时候都更容易和更简化。