Ich versuche ein view::share('current_user', Auth::User());
zu tun, aber in Laravel 5 kann ich nicht finden, wo dies zu tun ist, in L4 könnte man dies im baseController tun, aber das existiert nicht mehr .Laravel 5, View :: Share
GRT Glenn
Ich versuche ein view::share('current_user', Auth::User());
zu tun, aber in Laravel 5 kann ich nicht finden, wo dies zu tun ist, in L4 könnte man dies im baseController tun, aber das existiert nicht mehr .Laravel 5, View :: Share
GRT Glenn
Erstens können Sie wahrscheinlich Ihre eigene Base erstellen und es in anderen Steuerungen erweitern.
Zweitens können Sie Auth:user()
direkt in View verwenden, Sie müssen nichts in der Ansicht zuweisen.
Für andere Verwendungen können Sie auf app/Providers/App/ServiceProvider.php
gehen und in boot
Methode können Sie View::share('current_user', Auth::User());
aber oder natürlich müssen Sie zuerst den Import Namespace hinzuzufügen:
use View;
use Auth;
, da diese Datei in App\Providers
Namespace ist
Dies wird dazu beitragen kann:
App::booted(function()
{
View::share('current_user', Auth::user());
});
I‘ v probierte es, legte es in App/Provider einfach nicht funktioniert. Die alternative Möglichkeit besteht darin, eine globale Middleware zu erstellen und View :: share ('currentUser', Auth :: user()); Dort.
ich verwende Laravel 5.0.28, view::share('current_user', Auth::User())
nicht mehr funktioniert, weil dieses Problem https://github.com/laravel/framework/issues/6130
Was ich stattdessen tun ist, zunächst einen neuen Service-Provider Handwerker mit erstellen.
php artisan make:provider ComposerServiceProvider
Dann fügen Sie ComposerServiceProvider zu config/app.php
Anbieter Array
//...
'providers' => [
//...
'App\Providers\ComposerServiceProvider',
]
//...
Dann öffnen app/Providers/ComposerServiceProvider.php
, die gerade erstellt haben, im Inneren Boot-Methode fügen Sie den folgenden
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
View::composer('*', function($view)
{
$view->with('current_user', Auth::user());
});
}
Schließlich Import View
und Auth
Fassade
use Auth, View;
Weitere Informationen http://laravel.com/docs/5.0/views#view-composers
Funktioniert! Super, danke. –
Gemäß diesem Problem "In der Startfunktion wurde die Auth :: user() noch nicht initialisiert, so dass es für die Ansicht als null freigegeben wird." Das passiert mir tatsächlich; Auth :: user ist null. Wie funktioniert es für dich? – Vic
@Vic Ja, ich bin mit dem Problem passiert, was ist Ihre Lösung? – iatboy
In Laravel 5 verwendet das gleiche Verfahren wie in Laravel 4:
View::share('current_user', Auth::User());
oder mit dem View Helfer:
view()->share('current_user', Auth::User());
Siehe in http://laravel.com/docs/5.0/views
Und wo würden Sie solchen Code setzen? :) – Kiwi
unter der Registerfunktion –