Sto cercando di fare un view::share('current_user', Auth::User());
ma in laravel 5 non riesco a trovare dove farlo, in L4 si potrebbe fare questo nel BaseController, ma quello non esiste più .Laravel 5, Visualizza :: Condividi
tsl Glenn
Sto cercando di fare un view::share('current_user', Auth::User());
ma in laravel 5 non riesco a trovare dove farlo, in L4 si potrebbe fare questo nel BaseController, ma quello non esiste più .Laravel 5, Visualizza :: Condividi
tsl Glenn
In primo luogo, probabilmente si può creare il proprio BaseController ed estenderlo in altri controller.
La seconda cosa è che è possibile utilizzare Auth:user()
direttamente in Visualizza, non è necessario assegnare nulla nella vista.
Per altri usi si può andare a app/Providers/App/ServiceProvider.php
e in boot
metodo che si può View::share('current_user', Auth::User());
ma o il corso è necessario aggiungere l'importazione di spazi dei nomi prima:
use View;
use Auth;
perché questo file è in App\Providers
namespace
Questa volontà può aiutare:
App::booted(function()
{
View::share('current_user', Auth::user());
});
I' v provato, metterlo in app/Provider semplicemente non funziona. Il modo alternativo è creare un middleware globale e inserire View :: share ('currentUser', Auth :: user()); Là.
Sto usando laravel 5.0.28, view::share('current_user', Auth::User())
non funziona più perché questo problema https://github.com/laravel/framework/issues/6130
Quello che faccio, invece, è, in primo luogo creare un nuovo fornitore di servizi utilizzando artigianale.
php artisan make:provider ComposerServiceProvider
Quindi aggiungere ComposerServiceProvider a config/app.php
fornitori gamma
//...
'providers' => [
//...
'App\Providers\ComposerServiceProvider',
]
//...
Quindi aprire app/Providers/ComposerServiceProvider.php
che appena creato, all'interno di metodo di avvio aggiungere il seguente
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
View::composer('*', function($view)
{
$view->with('current_user', Auth::user());
});
}
Infine, l'importazione View
e Auth
facciata
use Auth, View;
Per ulteriori informazioni, vedere http://laravel.com/docs/5.0/views#view-composers
Works! Fantastico, grazie. –
In base a questo problema, "Nella funzione di avvio, Auth :: user() non è stato ancora inizializzato, quindi è stato condiviso con la vista come null." Mi sta succedendo davvero; Auth :: user è nullo. Come sta funzionando per te? – Vic
@Vic Sì, mi è capitato il problema, qual è la tua soluzione? – iatboy
In laravel 5 utilizza lo stesso metodo in laravel 4:
View::share('current_user', Auth::User());
o utilizzando la view helper:
view()->share('current_user', Auth::User());
E dove metti questo codice? :) – Kiwi
sotto la funzione di registro –