Я пытаюсь сделать view::share('current_user', Auth::User());
но в laravel 5 я не могу найти, где это сделать, в L4 вы могли бы сделать это в baseController, но этого больше не существует.
гр Гленн
Во-первых, вы, вероятно, можете создать свой собственный BaseController и расширить его на другие контроллеры.
Второе, что вы можете использовать Auth:user()
непосредственно в представлении вам не нужно ничего назначать в представлении.
Для других целей вы можете перейти на app/Providers/App/ServiceProvider.php
И в boot
метод вы можете View::share('current_user', Auth::User());
но, конечно же, сначала нужно добавить импортируемые пространства имен:
use View;
use Auth;
потому что этот файл находится в App\Providers
Пространство имен
Я использую 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;
Для получения дополнительной информации см. http://laravel.com/docs/5.0/views#view-composers
Это может помочь:
App::booted(function()
{
View::share('current_user', Auth::user());
});
Я попробовал, положить его в приложение / провайдеров просто не работает. Альтернативный способ — создать глобальное промежуточное программное обеспечение и поместить View :: share (‘currentUser’, Auth :: user ()); там.
В Laravel 5 используется тот же метод, что и в Laravel 4:
View::share('current_user', Auth::User());
или используя помощник вида:
view()->share('current_user', Auth::User());
Смотрите в http://laravel.com/docs/5.0/views