Yii 会话
会话使得数据可以在不同页面之间访问。一个会话在服务器上创建一个文件,并将所有的会话变量存储在一个临时目录中。在特定用户访问期间,这些数据对于网站的所有页面都是可用的。
会话启动时,以下操作会发生:
- PHP为该会话创建一个唯一的ID。
-
在客户端上发送一个名为PHPSESSID的cookie(给浏览器)。
-
服务器在临时文件夹中创建一个文件,将所有会话变量保存其中。
-
当服务器想要从会话变量中检索值时,PHP会自动从PHPSESSID cookie中获取唯一的会话ID。然后,在其临时目录中查找所需的文件。
要启动一个会话,您应该调用 session_start() 函数。所有的会话变量都存储在 $_SESSION 全局变量中。您还可以使用 isset() 函数来检查会话变量是否已设置。
要销毁一个会话,您应该调用 session_destroy() 函数。要销毁一个单独的会话变量,调用 unset() 函数 –
在Yii中使用会话
会话允许在用户请求之间保持数据的持久性。在PHP中,您可以通过 $_SESSION 变量访问它们。在Yii中,您可以通过会话应用程序组件来访问会话。
步骤1 - 将 actionOpenAndCloseSession 方法添加到 SiteController 中。
在上面的代码中,我们获取会话应用组件,打开一个会话,检查它是否活动,关闭会话,最后销毁它。
步骤2 - 在Web浏览器的地址栏中输入 http://localhost:8080/index.php?r=site/open-and-close-session ,将会看到以下内容。
要访问会话变量,您可以使用 set() 和 get() 方法。
步骤3 - 添加一个 actionAccessSession 方法到 SiteController 。
步骤4 − 前往 http://localhost:8080/index.php?r=site/access-session ,你将会看到以下内容。