mst*_*rdy 37 php laravel laravel-4
我想在Laravel 4中获得会话的ID
在Laravel 3中,它有点hacky,但可能使用此代码:
$session_id = Session::$instance->session['id'];
Run Code Online (Sandbox Code Playgroud)
但我无法在Laravel 4中解决这个问题...引用该Session::$instance对象会引发错误:
访问未声明的静态属性:Illuminate\Support\Facades\Session :: $ instance
试过:
$session_id = Session::get('id');
Run Code Online (Sandbox Code Playgroud)
但无济于事..任何想法?
mst*_*rdy 82
取决于Laravel的版本:
$session_id = $_COOKIE["laravel_session"];
Run Code Online (Sandbox Code Playgroud)
只是没有版本4.1及以上:
$session_id = session_id(); //thanks Phill Sparks
Run Code Online (Sandbox Code Playgroud)
$session_id = Session::getId();
Run Code Online (Sandbox Code Playgroud)
要么
$session_id = session()->getId()
Run Code Online (Sandbox Code Playgroud)
Laravel不再直接使用内置的PHP会话,因为开发人员可以选择使用各种驱动程序来管理访问者的会话(Laravel 4.2,Laravel 5.1,Laravel 5.2的文档).
因此,现在我们必须使用Laravel的SessionFacade或session()helper来获取会话的ID:
小智 38
只是为自己寻找一点,因为上面的答案对我不起作用(Laravel 4.1)......
不得不用这个:
Session::getId();
Run Code Online (Sandbox Code Playgroud)
在 laravel 5.5 中,首先将其写入控制器中use Session;
,然后在控制器函数中写入以下行session()->getId();
| 归档时间: |
|
| 查看次数: |
64351 次 |
| 最近记录: |