问题描述
|
我正在一个PHP系统上工作,在该系统上,需要在使用的所有类中不断设置几个变量。数据大部分是通过ajax调用和MySQL查询来检索的。
除非单击特定链接,否则每个变量的值都不会更改。
实现此目的的最佳方法是什么?我有点卡住了,因为我既不能使用全局变量,也不能使用Cookie。
提前致谢。
N.
解决方法
您应该研究会话。
这是使用会话的一个简单示例:
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION[\'count\'])) {
$_SESSION[\'count\'] = 0;
} else {
$_SESSION[\'count\']++;
}
一些HTML稍后...
<p>
Hello visitor,you have seen this page <?php echo $_SESSION[\'count\']; ?> times.
</p>
<p>
To continue,<a href=\"nextpage.php?<?php echo htmlspecialchars(SID); ?>\">click
here</a>.
</p>
, 然后将其存储在超类中。因此,从超类派生的所有子类都可以访问既不是全局变量也不是会话变量的变量。
<?
class MySuperClass
{
protected myVariable;
}
class MySubClass extends MySuperClass
{
function bleh()
{
$this->myVariable = \"yeah... neither global or cookie\";
}
}
?>
// Or use $_SESSION instead of the above. $_SESSION[\'mynamespace\'][\'my_variable\'];
, session_start();
回声$ _SESSION [\'foo \'];
$ _SESSION [\'foo \'] = $ _REQUEST [\'foo \'];
, 您可以使用注册表。但是,请仔细考虑您是否真的需要这样做,并考虑依赖注入。尝试使您的代码松散耦合。