laravel5.5以下的版本安装包的时候为什么需要添加包的服务提供者,而5.5以上就不需要
PHP

laravel5.5以下的版本安装包的时候为什么需要添加包的服务提供者,而5.5以上就不需要

quhe.net
2020-07-09 / 0 评论 / 168 阅读 / 正在检测是否收录...

 在 Laravel 5.5 之前的版本,安装新的包需要手动添加包的服务提供者(Service Provider)到应用程序的配置文件中,以便让 Laravel 能够识别并加载这些包的功能。这是因为 Laravel 5.5 之前的版本中,服务提供者必须手动注册才能生效。

 而从 Laravel 5.5 开始,引入了自动包发现(Package Auto-Discovery)功能,这个功能可以自动扫描安装的包,并注册这些包的服务提供者,从而不再需要手动添加服务提供者到配置文件中。


 这个自动包发现功能的实现方式是通过扫描所有安装的 Composer 包中的特定文件 composer.json 中的 extra 字段中的 laravel 节点来实现的。在这个 laravel 节点中可以指定包的服务提供者和别名,Laravel 会自动将其注册到应用程序中。

如图

le52jb7q.png

 因此,如果你使用的是 Laravel 5.5 及以上的版本,可以直接安装包而不需要手动添加服务提供者到配置文件中。但如果你使用的是 Laravel 5.5 之前的版本,则需要手动添加服务提供者。

4

评论 (0)

取消