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

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-auto-discovery-in-laravel-5-5-ea9e3ab20518

Stay Hungry, Stay Foolish.

本帖由系统于 1年前 自动加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 17
leo

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

1年前

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

1年前
overtrue

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

1年前
leo

@overtrue 应该没爱过

1年前
overtrue

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

1年前

我用过TP。。。不吭气

1年前

wowowowow

1年前

非常赞的功能

1年前

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

1年前
Kurisu

期待5.5!

1年前

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

1年前

越来越自动化了 :thumbsup:

1年前
lifesign

Awesome~

1年前
medz

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

1年前
medz

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

1年前

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

1年前

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

1年前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!