[英]Zend_Session problems
我已经读过..Internet上的一些文章,但我听不懂:|,你们能给我一个例子,怎么做这样的事情: $ _SESSION ['name'] ='value'; 然后回显$ _SESSION ['name']。如何使用ZF创建类似的东西?
最好的祝福,
将其放在页面顶部,然后再进行其他操作:
<?php
Zend_Session::start();
if(!Zend_Registry::isRegistered('session'))
{
$session = new Zend_Session_Namespace('YourSiteName');
Zend_Registry::set('session', $session);
}
?>
修改会话:
<?php
$session = Zend_Registry::get('session');
$session->user_name = $user_name;
?>
要阅读您的会话:
<?php
$session = Zend_Registry::get('session');
echo 'Hello '.$session->user_name.' !';
?>
或查看当前会话名称空间中的所有值:
<?php
$session = Zend_Registry::get('session');
foreach ($session as $index => $value)
{
echo "session->$index = '$value';<br />";
}
?>
您可以通过以下方式(如本教程所述)进行操作:
$defaultNamespace = new Zend_Session_Namespace('Default');
if (isset($defaultNamespace->name))
{
echo $defaultNamespace->name;
}
else
{
$defaultNamespace->name = "hi";
}
首先,您需要使用以下方法创建会话对象:
$defaultNamespace = new Zend_Session_Namespace('Default');
通过定义自定义值来代替默认值,这意味着您的任何变量都不会与其他系统或系统中使用唯一值代替默认值的其他部分的变量混合。
之后,可以像常规类变量一样访问每个变量
任何变量都可以使用
$defaultNamespace->variable_name = value;
要获得任何价值,只需获得相同的价值即可。
$variable - $defaultNamespace->variable_name; // gets value
正如Pascal所指出的,您还需要致电
Zend_Session::start();
在这一切之前。
要了解更多信息,请使用基本用法示例。
使用Zend Framework时,不应直接使用$_SESSION
,而应使用Zend_Session
类。
您可能会在“ 基本用法”手册页上找到问题的答案。
例如,要使用存储在会话中的numberOfPageRequests
,可以使用如下代码:
$defaultNamespace = new Zend_Session_Namespace('Default');
if (isset($defaultNamespace->numberOfPageRequests)) {
// this will increment for each page load.
$defaultNamespace->numberOfPageRequests++;
} else {
$defaultNamespace->numberOfPageRequests = 1; // first time
}
我承认,直接使用$_SESSION
似乎有点复杂,但这给了您一个一致的,面向对象的界面-至少是^^
当然,您可能需要在此之前开始会话,使用
Zend_Session::start();
如果您还有其他问题,更具体的话,请随时提出!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.