В одном из своих промежуточных программ я использовал что-то вроде этого
$user = [
'name' => 'noob',
'phone' => '87548154'
]; /* which actually comes from redis cache */
$request->attributes->set('user', $user);
и в контроллере я использую его как
$request->get('user')['name']
ИЛИ ЖЕ
$request->get('user')['phone']
Поскольку это кажется очень гибким, я хотел бы добавить больше данных в массив $ user. В документации laravel написано выше, что метод get () класса Request:
* Gets a "parameter" value from any bag.
* This method is mainly useful for libraries that want to provide some flexibility. If you don't need the
* flexibility in controllers, it is better to explicitly get request parameters from the appropriate
* public property instead (attributes, query, request).
* Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY
Мой вопрос: будет ли это хорошая идея? потому что наиболее часто используемые данные уже прикреплены к промежуточному программному обеспечению. Чтобы мне не приходилось снова и снова писать лишние коды в методах контроллера. Повлияет ли это на производительность сервера с высоким трафиком?
Какая цель? Вы можете использовать смотреть композитора для обмена данными с представлениями.
вы делаете как b = a и c =b, чтобы получить a в c, где вы можете получить прямой доступ к c = a. Это определенно, но не существенно повлияет на производительность. Вы можете использовать глобальные переменные в config.
это проект с просветом .. нет просмотров






Я лично никогда так не работаю. Вы можете получить доступ к текущему пользователю из любого места, используя фасад Auth, как показано ниже:
\Auth::user()
Это позволяет вам никогда не отправлять его, когда в нем нет необходимости, и по-прежнему использовать его из любого места (контроллеры, модели, лезвия или что-то еще).
Затем, чтобы получить доступ к вашим свойствам:
\Auth::user()->phone
и так далее...
Еще лучше, IMHO, auth()->user();, где auth() - это «глобальная» функция и тоже принимает параметр ($guard).
Это не уловка, посмотрите этот github.com/laravel/framework/blob/…, получайте удовольствие!
почему бы не поделиться им со всеми видами внутри
AppServiceProvider?