5.3的AUTH的机制的理解困惑


花了时间看5.3的AUTH的机制,我试图去理解设计者的想法,遇到一个问题和大家讨论一下,

  1. 为什么里面有多处文件的多层引用和嵌套,举例 App\Http\Controllers\Auth\LoginController.php use 了Illuminate\Foundation\Auth\AuthenticatesUsers, 而AuthenticatesUsers use 了RedirectsUsers, ThrottlesLogins;, 我的理解是,这些完全可以写在一起,又不存在其他地方复用的问题,设计者究竟出于什么样的考虑,这样安排的。

个人理解是不是想通过trait的优先级机制:当前类中的方法会覆盖 Trait 方法,而Trait方法覆盖了基类中的方法。
来给子文件重写同名方法的一个机会,所以才通过Trait来封装某些方法。

  1. 在Illuminate下面,有两个地方涉及到auth, 一个是 Illuminate/Auth, 另外一个是 Illuminate/Foundation/Auth, 按我的理解,这个完全没有必要放到Foundation下面的吧,全部到Illuminate/Auth 不就行了吗?

请教高手,或者大家探讨理解,谢谢


Vote Vote Cancel Collect Collect Cancel

<< 上一篇: laravel-ide-helper 对使用门面模式类的提示

>> 下一篇: XAMPP 安装 Laravel 出现的问题