Я работаю с Laravel, интегрированным в WordPress, и пытаюсь понять, куда мне поместить данные сеанса на основе шаблона проектирования MVC?
Раньше я помещал все в файлы view (header.php и footer.php), и через некоторое время это стало беспорядком, полным беспорядком.
Как написано Вот:
В качестве MVC я использую CodeIgniter, поэтому я не знаю, может ли это быть правдой для вашей конкретной среды, но я обычно устанавливаю значения сеанса из контроллера. Это можно сделать даже в поле зрения, но правильный способ — сохранить код в контроллере (как хранение базы данных в моделях).
В контроллере вы можете использовать стандартный массив php $ _SESSION или, если он существует, ваш класс сеанса фреймворка.
Да, я понимаю, что это хорошая практика — не возиться с представлением и не помещать переменные сессии в контроллер. Вот проблема:
Поскольку я использую WordPress, цель состоит в том, чтобы иметь место, где переменные сессии всегда загружаются, не имеет значения, изменил ли я тему или что-то еще, они должны остаться в бэкэнде Laravel.
Без какого-либо тестирования я мог бы подумать о парном варианте:
boot
функция.Вы можете использовать Laravel https://laravel.com/docs/5.6/session Помощник сессии.
Тогда вы можете просто сделать Session::put('hello','world'); Session::save();
и получить его с Session::get('hello');
Вы можете делать это где угодно, если только вы не забудете сохранить сеанс после того, как что-то добавите, измените или удалите.
Пока Laravel загружен и у домена есть cookie-файл сеанса laravel, вы можете получить к ним доступ.
Других решений пока нет …