本文概述
- 会议开幕和闭幕
- 访问会话数据
在PHP中, 可以通过$ _SESSION全局变量访问会话。
会话开始后,
- 将为该特定会话生成唯一的ID。
- Cookie被发送到客户端。
- 所有这些会话变量都保存在服务器上的临时文件夹中。
- 从会话变量中检索值时, 它会自动从cookie中获取唯一的会话ID。然后, 它会在临时文件夹中查找特定文件。
步骤1转到SiteController.php文件。添加操作actionCheckStatus。
public function actionCheckStatus() { $session = Yii::$app->
session;
// open a session $session->
open();
// check if a session is already active if ($session->
isActive) echo "Session is Active";
// close a session $session->
close();
// destroys all data registered to a session $session->
destroy();
}
查看上面的代码, 它显示会话打开, 会话关闭, 检查会话是否处于活动状态并破坏该会话。
步骤2使用网址在浏览器上运行它,
http://localhost/sess/frontend/web/index.php?r = site / check-status
文章图片
访问会话数据 在访问数据期间, 如果没有会话正在运行, 则会话将自动启动它。
要访问会话中存储的数据, 请运行以下代码。
$session = Yii::$app->
session;
// get a session variable. The following usages are equivalent:$language = $session->
get('language');
$language = $session['language'];
$language = isset($_SESSION['language']) ? $_SESSION['language'] : null;
// set a session variable. The following usages are equivalent:$session->
set('language', 'en-US');
$session['language'] = 'en-US';
$_SESSION['language'] = 'en-US';
// remove a session variable. The following usages are equivalent:$session->
remove('language');
unset($session['language']);
unset($_SESSION['language']);
// check if a session variable exists. The following usages are equivalent:if ($session->
has('language')) ...if (isset($session['language'])) ...if (isset($_SESSION['language'])) ...// traverse all session variables. The following usages are equivalent:foreach ($session as $name =>
$value) ...foreach ($_SESSION as $name =>
$value) ...
推荐阅读
- YII视图介绍和用法示例
- YII模块介绍和用法示例
- Yii模型介绍和用法示例
- YII数据库读取记录示例
- YII数据库删除记录示例
- YII数据库(创建(插入)记录示例)
- YII验证用法示例
- YII会话(Flash数据用法示例)
- Yii入口脚本基本概念和作用介绍