Я хочу получить идентификатор сеанса в Laravel 4
В Laravel 3 это было немного взломанно, но возможно с помощью этого кода:
$session_id = Session::$instance->session['id'];
Но я не могу это решить в Laravel 4 … ссылаясь на объект Session::$instance
вызывает ошибки:
Доступ к необъявленному статическому свойству: Illuminate \ Support \ Facades \ Session :: $ instance
попробовал:
$session_id = Session::get('id');
но безуспешно .. любые идеи?
Зависит от версии Laravel:
$session_id = $_COOKIE["laravel_session"];
Просто не версии 4.1 и выше:
$session_id = session_id(); //thanks Phill Sparks
$session_id = Session::getId();
или
$session_id = session()->getId()
Laravel больше не использует встроенные PHP-сессии напрямую, так как разработчик может использовать различные драйверы для управления сессиями посетителей (документы для Laravel 4.2 , Laravel 5.1 , Laravel 5.2 ).
Из-за этого теперь мы должны использовать помощник session()
Laravel или помощник session()
для получения идентификатора сеанса:
Просто немного охотился за собой, потому что вышеупомянутые ответы не сработали для меня (Laravel 4.1) …
Пришлось использовать это:
Session::getId();
в laravel 5.5 сначала напишите это в своем контроллере, use Session;
и внутри вашей функции контроллера напишите следующую строку session()->getId();