Laravel 5.5 支持包自动发现(新功能早知道)

Taylor 与 Dries Vints 合作,为 7 月底或 8 月初发布的 Laravel 5.5 增加了一个新的功能。这个功能使得 Laravel 能更容易地对包进行安装和启用的管理。

包的开发者可以在 composer.json 文件中添加一个新的部分,用来告诉框架应该注册哪些服务提供器或者它们的外观。Taylor 甚至在最流行的 Laravel Debugbar 中提交了这个配置的 PR

file
现在,在新版的 Laravel 5.5 上,还和以前一样简单地安装包之后:

composer require barryvdh/laravel-debugbar:dev-master

框架将会自动帮你注册包的服务提供器并启用,像这样:

file

这种做法消除了安装和使用包时烦人的过程。如果在 composer.json 文件的 require-dev 部分中使用自动发现来安装和启用 Composer 的包,那么只有当你的环境处于「dev」时,这些服务提供器才会被注册。即,对于那些只能在开发环境使用的类似 Laravel Dusk 或者 Laravel Debugbar 来说,是非常棒的。这样一来你的 AppServiceProvider 里面就不再需要出现根据当前环境或者其他条件来判断是否使用那些个服务提供器的内容。

还可以轻松地删除已安装的软件包,你会发现它们的注册和别名也将被删除:

composer remove barryvdh/laravel-debugbar

而通过将它们列入 composer.json 文件中的 dont-discover 部分,也可以禁用一个或多个包的自动发现:

file

除了 Laravel 5.5 之外,这个功能也开始应用于各种社区开发的包。正如你所见到的,Laravel 正在变得越来越强大,就让我们一起期待 5.5 的到来!

参考链接:https://medium.com/@taylorotwell/package-a...

本作品采用《CC 协议》,转载必须注明作者和本文链接
Stay Hungry, Stay Foolish.
本帖由系统于 6年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 17
leo

Laravel变得越来越好用,今天回过头去看了看symfony,已经是没法下手了

6年前 评论
leo

Laravel变得越来越好用,今天回过头去看了看symfony,已经是没法下手了

6年前 评论

@leo 我是该庆幸我只用过 Laravel 么:smile_cat:

6年前 评论

@leo 哈哈,旧爱已经堕落了是不是,哈哈哈哈

6年前 评论
leo

@overtrue 应该没爱过

6年前 评论

@leo 我也是,至今就没玩过,就看过文档

6年前 评论
幽弥狂

我用过TP。。。不吭气

6年前 评论

wowowowow

6年前 评论

这个功能真的会很方便,赞!

6年前 评论
Kurisu

期待5.5!

6年前 评论

想起当时被人嘲笑自己学thinkphp的单字母函数的命名方式

6年前 评论

越来越自动化了 :thumbsup:

6年前 评论
medz

?我想说。。。其实我在开发另一个产品的时候也实现了这个么。。。 https://github.com/zhiyicx/plus-installer 好气哟~~

6年前 评论
medz

file
?是否还能继续坚持,我感觉可以把我写的这个废弃掉,用5.5了~尴尬~~~
https://github.com/zhiyicx/thinksns-plus/t...

6年前 评论

@leo 用 Symfony 的表示我也要看看 Laravel :(

6年前 评论

确实是痛点,每次安装都会觉得有一些麻烦:100:

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!