Laravel 5.3 的這個檔案vendorlaravelframeworksrcIlluminateFoundationAuthAuthenticatesUsers.php
中有這樣一個方法:
protected function guard()
{
return Auth::guard(); //这个语句是什么意思?返回个什么值?
}
其中的 Auth::guard()
表示什麼意思?回傳個什麼值?
迷茫2017-05-16 16:51:10
依照我的理解,每一個 Guard
代表一個使用者群組。
在 Laravel5.3 中對於多組使用者有更完善的支持,我們可以有多組使用者係統,比方說前台、後台各有一組使用者係統。
而 Guard
起到什麼作用呢,這裡可以舉個栗子
Auth::check()
是判斷使用者是否登入的方法,如果使用的預設使用者係統,那麼這樣使用沒問題。但是使用兩組使用者的話,如何使用各組使用者的功能呢?
Auth::guard('users')->check()
就是用来判断前台用户是否登录,而Auth::guard('admins')->check()
就是用來判斷後台使用者是否登入的。
一般來說,你的auth.php
設定檔中,會設定一個default使用者群組,一般為users,則使用users群組使用者時候不用指定guard,而使用其他群組使用者時候,則需要使用guard來指定使用的哪一組用戶。
或你可以看看文檔,可能會理解更多。
伊谢尔伦2017-05-16 16:51:10
Guard 類別的原始碼
https://github.com/laravel/framework/blob/5.1/src/Illuminate/Auth/Guard.php