会话处理(zendsession).ppt

会话处理(zendsession).ppt

ID:48069893

大小:507.81 KB

页数:16页

时间:2019-05-06

会话处理(zendsession).ppt_第1页
会话处理(zendsession).ppt_第2页
会话处理(zendsession).ppt_第3页
会话处理(zendsession).ppt_第4页
会话处理(zendsession).ppt_第5页
资源描述:

《会话处理(zendsession).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第15章会话处理(Zend_Session)在计算机语言中,会话是一种面向连接的可靠通信方式。而会话处理机制,即是指编程语言实现基于会话的通信的方式。在PHP中,会话(session)代表服务器端与客户端之间的一种持久的状态数据。使用ZendFramework的Session可以在由相同客户端发起的多个页面请求之间,管理和保护会话数据。本章介绍如何使用Zend_Session组件来实现会话的处理。15.1Zend_Session会话简介在Zend_Session中的会话数据是对Cookie数据的扩展。但该数据又与Cookie数据有所不同。二者最明显的区别就

2、是会话数据不储存在客户端,而Cookie则通常保存在客户端。会话数据仅在服务器端源代码使用时,才通过回应客户端的请求与客户端共享会话数据。在Zend_Session组件中,“sessiondata”代表存储在服务器端的$_SESSION数组中的数据。该数据使用Zend_Session来管理,由会话命名空间(Zend_Session_Namespace,该类为Zend_Session的一个子类)以对象的方式来控制。命名空间逻辑上就是一系列以字符串为键名的联合数组,这类似于普通的PHP数组。15.2Zend_Session基本用法上一节对Zend_Sessio

3、n做了一个纯理论性的简介。本节将以具体的实例来讲解Zend_Session的基本用法。其中包括如何使用Zend_Session实现会话、如何对会话命名空间进行迭代以及如何对会话命名空间进行访问。15.2.1使用Zend_Session本小节来介绍如何使用Zend_Session实现会话。要使用Zend_Session会话,应该需要以下几个步骤。(1)引用命名空间(Zend_Session_Namespace)类。(2)为命名空间类实例化一个对象。可以使用new关键字为类实例化对象,其中要使用参数命名空间。如果不指定参数,则类的构造函数会使用默认的命名空间参

4、数,其值为Default。(3)使用Zend_Session_Namespace类的实例的成员,可以对其进行赋值或者读取操作。15.2.2遍历会话命名空间会话命名空间Zend_Session_Namespace支持foreach语句(通过循环遍历所有成员的PHP语句)。基于这一点,可以使用foreach语句对会话命名空间进行迭代,以遍历会话命名空间中的全部值。15.2.3访问会话命名空间访问会话命名空间可以使用通常对于一般变量的方法,如直接为变量赋值、直接读取变量的值、使用isset()函数判断其是否为Null值、使用unset()来注销变量等。15.3Z

5、end_Session高级用法上一节介绍的是Zend_Session在会话处理方面的基本应用。本节继续介绍该组件的高级应用。其内容包括开启会话、锁定会话命名空间、会话过期、会话封装与控制器以及防止一个会话命名空间的多重实例等部分。本节就以上列出的这些内容逐一地作详细介绍。15.3.1开启会话如果程序需要所有的请求都通过会话的形式来管理,那么则需要在程序最开始时就开启会话。要开启会话,可以使用Zend_Session的静态方法start()。该方法是Zend_Session类的静态方法,可以直接以Zend_Session::start()的方式使用,另外该方

6、法也不需要任何参数。使用Zend_Session有两种正确的开启会话的方法。1.使用Zend_Session::start()开启会话。2.在需要会话的地方使用newZend_Session_Namespace()。15.3.2锁定会话命名空间为会话命名空间实例初始化对象并赋值之后,有时为了特定的需要,会锁定会话命名空间,以防止其他内容对其值进行更改。使用Zend_Session_Namespace的lock()方法可以锁定会话命名空间(即将其值改为只读状态);使用Zend_Session_Namespace的unLock()方法可以解除会话命名空间实例的

7、锁定状态。另外还可以通过Zend_Session_Namespace的isLocked()方法判断指定会话命名空间是否处于锁定状态。该方法将根据其状态返回相应的布尔值。15.3.3为会话设置生命期每个会话都有其生命期,默认的会话在关闭页面时结束生命期。而通过Zend_Session_Namespace的setExpirationSeconds()方法与setExpirationHops()方法为每个会话设置生命期。两个方法的使用语法格式分别如下所示。setExpirationSeconds($seconds,$variables=null)setExpir

8、ationHops($hops,$variables=null,$

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。