为什么 socialiteproviders 扩展需要在 App/Providers/EventServiceProvider.php 设置?

其他扩展包怎么没有做这个操作? laravel 5.5不需要设置了对吧?
教程中提到:

因为我们使用了 laravel 5.5 所以可以省略 ServiceProvider 的设置。

设置 EventServiceProvider

app/Providers/EventServiceProvider.php

 .
 .
 .
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // add your listeners (aka providers) here
        'SocialiteProviders\Weixin\WeixinExtendSocialite@handle'
    ],
];
.
.
.
桃知夭夭
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
liyu001989
  1. Laravel 的包自动发现,省略的是 SocialiteProviders 这个扩展包的 provider 设置。

  2. SocialiteWasCalled 是 SocialiteProviders 触发的事件,SocialiteProviders\Weixin\WeixinExtendSocialite@handle 是告诉 SocialiteWasCalled 需要扩展微信这个第三方登录组件,必须要设置。

你体会一下 1 和 2 的区别

5年前 评论

@liyu001989 通过您说的 ,看看我理解的对不对~

  1. laravel5.5 省略了在 在 config/app.php 的 providers 键下注册 SocialiteProviders 了。(增加了什么步骤自动加载进去的还是不了解)

2.第二个按我的理解是 SocialiteWasCalled 这个事件触发,SocialiteProviders\Weixin\WeixinExtendSocialite@handle作为事件的监听者,通过把SocialiteWasCalled依赖注入到handle方法中,来实现相关功能。所以出现了这种写法。为了实现不同种第三方登录的选择。(如果就是一种登录的话就不用这么麻烦了对吧)

5年前 评论
liyu001989

『如果就是一种登录的话就不用这么麻烦了对吧』 如果只使用 socialite 默认的第三方登录是不用写这些,因为这些是默认提供的。SocialiteProviders 中的都需要单独写。

其他理解都正确

5年前 评论

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