在我的公司,我们在一个应用程序(非laravel)登录。登录时,我们将会话信息存储在$ _SESSION变量中,如$ _SESSION ['XPTO']。
用户可以访问许多工具(所有非laravel),我们在$ _SESSION ['XPTO']的任何地方使用它来获取有关经过身份验证的用户所需的数据。
问题是我用Laravel 5.3开发了一个新工具,我需要获取$ _SESSION变量中的数据。我认为laravel不使用本机php会话!
那么,我怎样才能获得这些信息?
提前致谢
访问$_SESSION
,只需将session_start()
放在laravel项目的index.php
文件的开头
自Laravel 5以来,Laravel不使用本机PHP会话。
我们不再使用Symfony(以及PHP)的会话处理设施,而是使用更简单,更易于维护的自定义解决方案
在Laravel中,您想使用Session::
facade或session()
全球助手与sessions一起使用:
// Saving value.
session()->put('key', 'value');
// Gettinng value.
session('key');
Laravel提供了更多内置方法来获取和设置会话数据。在laravel中使用会话很容易。会话变量用于存储一些信息或一些关于用户或您要在应用程序的所有页面上访问的任何内容的数据。在laravel会话配置中存储在"app/config/session.php"
中。
我发现here是一个非常简单的教程,可以理解在laravel中使用SESSION
,你也可以在它中找到它。
在会话中设置单个变量: -
以下是Session的语法
语法: - Session::put('key', 'value');
示例: -
Session::put('email', $data['email']); //array index
Session::put('email', $email); // a single variable
Session::put('email', '[email protected]'); // a string
从会话中检索价值: -
从会话中检索值的语法
语法: - Session::get('key');
例:
Session::get('email');
在会话中检查变量: -
// Checking email key exist in session.
if (Session::has('email')) {
echo Session::get('email');
}
从会话中删除变量: -
语法: - Session::forget('key');
例:
Session::forget('email');
从会话中删除所有变量: -
Session::flush();