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, but that one doesn't exists anymore.
grt Glenn
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, but that one doesn't exists anymore.
grt Glenn
First, you can probably create your own BaseController and extend it in other controllers.
Second thing is, that you may use Auth:user()
directly in View, you don't need to assign anything in the view.
For other usages you can go to app/Providers/App/ServiceProvider.php
and in boot
method you can View::share('current_user', Auth::User());
but or course you need to add importing namespaces first:
use View;
use Auth;
because this file is in App\Providers
namespace
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
This will may help:
App::booted(function()
{
View::share('current_user', Auth::user());
});
I'v tried it, put it in app/Providers simply not working. The alternative way is to create a Global middleware and put View::share('currentUser', Auth::user()); there.
In Laravel 5 uses the same method as in laravel 4:
View::share('current_user', Auth::User());
or using the view helper:
view()->share('current_user', Auth::User());
See in http://laravel.com/docs/5.0/views