欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ZendFramework中使用session

程序员文章站 2024-03-20 13:21:40
...

[参看ZendFramework官方文档]

(1)开启全局会话,并设置session

<?php
require_once 'Zend/Session.php';
require_once 'Zend/Session/Namespace.php';

Zend_Session::start();
$userProfileNamespace = new Zend_Session_Namespace('userProfileNamespace');
$userProfileNamespace->name='username';
$userProfileNamespace->setExpirationSeconds(60, 'name'); // session有效期1分钟
$s->setExpirationHops(1); // 1次访问后,会话过期
// 标记会话设置为只读锁定
$userProfileNamespace->lock();
?>

注意,不能使用不要直接使用PHP的session_start()函数。如果你直接使用session_start(),之后再使用Zend_Session_Namespace,那么Zend_Session::start()会抛出("会话已经开始")的异常。如果你在使用Zend_Session_Namespace或使用Zend_Session::start()后调用session_start(),那么会产生一个E_NOTICE级别的错误,且该调用将会被忽略。

(2)使用(1)中的name

<?php
$userProfileNamespace = new Zend_Session_Namespace('userProfileNamespace', true); //  限制命名空间访问单一实例,不要忘了true
if (isset($userProfileNamespace->name)) {
$username = $userProfileNamespace->name;
}
?>
(3)若在限定时间内访问该值,只能访问1次;若超过限定不访问该值,将会自动失效。

转载于:https://my.oschina.net/wzwitblog/blog/98976