我正在玩Laravel 5.4.23,當我遇到404頁面auth()
,auth()->check()
,auth()->user()
,並且這些未初始化,因此在視圖中返回null,附近的任何地方。auth()方法null異常
我還跟AppServiceProvider.php類做一些測試,
dd(auth()->check());
回報在boot
法空,即使我登錄,這使得0了意義。
這意味着,無論何時用戶點擊404頁面,navbars等都不會呈現用戶數據,例如,傳統上我們在navbar的頂部右側有用戶配置文件按鈕,就像這裏在stackoverflow上那樣在Laravel,這是不可能的,我所看到的。
我在正確的軌道上還是錯過了什麼?
在我看來,Laravel嘗試在完成我測試的請求後登錄用戶。
希望我在這裏找到答案。
謝謝。
UPDATE:
包括在app \提供商的boot
方法手動登錄嘗試\ AppServiceProvider似乎解決空問題的AUT()命令,但我相信,這將嘗試登錄的用戶每頁請求兩次,因爲顯然Laravel在啓動後獲取登錄用戶,異常請求和不知道其他內容。
這仍然不能解決在AppServiceProvider,Auth :: check()仍然返回false的問題,它在處理程序,但不是在appserviceprovider中工作,我試圖查看laravel源代碼,看看是否有一個可能的方式在其餘的之前加載Auth – Emad
爲什麼你想要在服務提供商的auth用戶? – Sandeesh
我並不真的需要它,我只是想和laravel源代碼哈哈一塌糊塗,所以我試圖找出如何工作的事情,到目前爲止,您的解決方案工作,我仍然在他們的源代碼檢查,每週1次這裏laravel用戶:)昨天 – Emad