Я создал ServiceProvider и поместил туда некоторую логику для создания меню. Эта логика основана на аутентифицированном пользователе. Но, Auth::user()
Auth::getUser()
не работает, похоже, сеанс не загружен.Larvel5: Аутентифицированный пользователь в Провайдере
Я положил свою логику в boot
метод.
Временное решение проблемы, я создаю middleware
и ставим туда логику, но я не думаю, что это правильно.
Так ServiceProvider это неправильное место для этой (аналогичной) логики? Или где лучше место для работы с пользователем?
Например:
class MenuServiceProvider extends ServiceProvider {
public function boot() {
if(Auth::user()->isAdmin()) { // here Auth::user is null
$this->createAdminMenu();
} else {
$this->createDefaultMenu();
}
}
public function register()
{
//
}
Я не понимаю, что вы делаете. Если вы создаете меню для своего вида - это должно быть в вашем представлении Конструктор – Laurence
@TheShiftExchange Я обновляю свой вопрос – xAoc
Я думаю, что это должно быть в View Composer - http://laravel.com/docs/5.0/views#view -композиторы – Laurence