Laravel 5.5 支持包自动发现(新功能早知道)
Taylor 与 Dries Vints 合作,为 7 月底或 8 月初发布的 Laravel 5.5 增加了一个新的功能。这个功能使得 Laravel 能更容易地对包进行安装和启用的管理。
包的开发者可以在 composer.json
文件中添加一个新的部分,用来告诉框架应该注册哪些服务提供器或者它们的外观。Taylor 甚至在最流行的 Laravel Debugbar 中提交了这个配置的 PR 。
现在,在新版的 Laravel 5.5 上,还和以前一样简单地安装包之后:
composer require barryvdh/laravel-debugbar:dev-master
框架将会自动帮你注册包的服务提供器并启用,像这样:
这种做法消除了安装和使用包时烦人的过程。如果在 composer.json
文件的 require-dev
部分中使用自动发现来安装和启用 Composer 的包,那么只有当你的环境处于「dev」时,这些服务提供器才会被注册。即,对于那些只能在开发环境使用的类似 Laravel Dusk 或者 Laravel Debugbar 来说,是非常棒的。这样一来你的 AppServiceProvider
里面就不再需要出现根据当前环境或者其他条件来判断是否使用那些个服务提供器的内容。
还可以轻松地删除已安装的软件包,你会发现它们的注册和别名也将被删除:
composer remove barryvdh/laravel-debugbar
而通过将它们列入 composer.json
文件中的 dont-discover
部分,也可以禁用一个或多个包的自动发现:
除了 Laravel 5.5 之外,这个功能也开始应用于各种社区开发的包。正如你所见到的,Laravel 正在变得越来越强大,就让我们一起期待 5.5 的到来!
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: