我試圖做一個view::share('current_user', Auth::User());
,但在laravel 5我找不到在哪裏做這個,在L4中你可以在baseController中做到這一點,但那個不再存在。Laravel 5查看::共享
GRT格倫
我試圖做一個view::share('current_user', Auth::User());
,但在laravel 5我找不到在哪裏做這個,在L4中你可以在baseController中做到這一點,但那個不再存在。Laravel 5查看::共享
GRT格倫
首先,你也許可以創建自己的BaseController,並在其他控制器擴展。
第二件事,你可以直接在視圖中使用Auth:user()
,你不需要在視圖中分配任何東西。
其他用途,你可以去app/Providers/App/ServiceProvider.php
和boot
方法,你可以View::share('current_user', Auth::User());
但還是當然,你需要添加第一個導入的命名空間:
use View;
use Auth;
,因爲這個文件是在App\Providers
命名空間
這將有助於:
App::booted(function()
{
View::share('current_user', Auth::user());
});
我v試了一下,把它放在應用程序/供應商根本不工作。另一種方法是創建一個全局中間件並將View :: share('currentUser',Auth :: user());那裏。
我使用Laravel 5.0.28,view::share('current_user', Auth::User())
因爲這個問題https://github.com/laravel/framework/issues/6130
我要做的反而是,首先使用工匠一個新的服務提供商不工作了。
php artisan make:provider ComposerServiceProvider
然後加入ComposerServiceProvider到config/app.php
提供商陣列
//...
'providers' => [
//...
'App\Providers\ComposerServiceProvider',
]
//...
然後打開app/Providers/ComposerServiceProvider.php
剛纔創建,引導方法中添加以下
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
View::composer('*', function($view)
{
$view->with('current_user', Auth::user());
});
}
最後,進口View
和Auth
門面
use Auth, View;
在Laravel 5使用相同的方法,在laravel 4:
View::share('current_user', Auth::User());
,或者使用視圖助手:
view()->share('current_user', Auth::User());
你會在哪裏放這樣的代碼? :) – Kiwi 2014-10-09 10:35:59
根據註冊功能 – 2014-10-09 10:43:13