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 协议》,转载必须注明作者和本文链接
高认可度评论:
Laravel变得越来越好用,今天回过头去看了看symfony,已经是没法下手了
Laravel变得越来越好用,今天回过头去看了看symfony,已经是没法下手了
@leo 我是该庆幸我只用过 Laravel 么:smile_cat:
@leo 哈哈,旧爱已经堕落了是不是,哈哈哈哈
@overtrue 应该没爱过
@leo 我也是,至今就没玩过,就看过文档
我用过TP。。。不吭气
wowowowow
非常赞的功能
这个功能真的会很方便,赞!
期待5.5!
想起当时被人嘲笑自己学thinkphp的单字母函数的命名方式
越来越自动化了 :thumbsup:
Awesome~
?我想说。。。其实我在开发另一个产品的时候也实现了这个么。。。 https://github.com/zhiyicx/plus-installer 好气哟~~
?是否还能继续坚持,我感觉可以把我写的这个废弃掉,用5.5了~尴尬~~~
https://github.com/zhiyicx/thinksns-plus/t...
@leo 用 Symfony 的表示我也要看看 Laravel :(
确实是痛点,每次安装都会觉得有一些麻烦:100: