Yii - 会话(Session)
-
简述
会话使数据可以跨多个页面访问。会话在存储所有会话变量的临时目录中在服务器上创建一个文件。在该特定用户访问期间,该数据可用于您网站的所有页面。当会话开始时,会发生以下情况 --
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,您将看到以下内容。