Laravel 5, View::Share

前端 未结 5 794
闹比i
闹比i 2021-01-02 14:27

I\'m trying to do a view::share(\'current_user\', Auth::User()); but in laravel 5 i can\'t find where to do this, in L4 you could do this in the baseController,

5条回答
  •  生来不讨喜
    2021-01-02 14:40

    I am using Laravel 5.0.28, view::share('current_user', Auth::User()) doesn't work anymore because this issue https://github.com/laravel/framework/issues/6130

    What I do instead is, first create a new service provider using artisan.

    php artisan make:provider ComposerServiceProvider
    

    Then add ComposerServiceProvider to config/app.php providers array

    //...
    'providers' => [
        //...
        'App\Providers\ComposerServiceProvider',
    ]
    //...
    

    Then open app/Providers/ComposerServiceProvider.php that just created, inside boot method add the following

    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        View::composer('*', function($view)
        {
            $view->with('current_user', Auth::user());
        });
    }
    

    Finally, import View and Auth facade

    use Auth, View;
    

    For more information, see http://laravel.com/docs/5.0/views#view-composers

提交回复
热议问题