2017-05-30 163 views
0

所以我有一個Controller,它需要用戶名。這兩者有什麼區別?在Laravel控制器中獲取當前登錄用戶名

public function myFunc(Request $request) { 
    $username = $request->user()->username; 
} 

public function myFunc() { 
    $username = Auth::user()->username; 
} 

相比其他更好或更安全嗎?我應該使用哪一個呢?

+0

如果你想暈倒,解釋原因。 – rotaercz

+0

沒有區別,還有另外一個:auth() - > username也可以。原因在於很多人都對laravel的Facades感到厭惡。所以對於很多Facades,也有一個幫手方法。 – Christophvh

回答

0

沒有區別。 第一個使用auth facade,另一個使用Request類,最終它們給出的結果相同但沒有真正的性能影響,

我更喜歡我的控制器中的第一個,我僅在我的控制器中使用Auth外觀觀點。

+0

爲什麼你更喜歡控制器的第一個和Views的第二個是什麼邏輯?明智的安全有什麼區別嗎?這裏的關鍵字是安全性。我看到有人侵入Laravel網站,但他們不會告訴我他們是如何做到的。 – rotaercz

+0

nope,一個facade提供了一個類似靜態的接口來訪問一個方法,這是唯一的區別! 我更喜歡那種毫無理由的方式! (我把{它自己也放在一行中!這是個人喜好) –

+1

我明白了。謝謝回覆。在那種情況下,我想我可能會使用Auth :: user()方法,因爲涉及的輸入較少。 – rotaercz

相關問題