【发布时间】:2011-11-21 11:32:59
【问题描述】:
我有一个在循环中被多次调用的页面。我有一个版本,它在页面加载时从 MySQL 中提取数据,在页面再次重复该过程之前,每次提交都将修改后的数据推回。其中一些数据仅对会话的运行很重要,在会话结束时被转储
我正在玩一个类的想法,该类从构造函数中的会话变量加载其变量,然后将最终值推回析构函数中的相同会话变量。我有以下内容。变量在第一次调用构造函数时成功初始化,并由析构函数的第一个实例传递出去。但是,它们无法在第二次调用构造函数时加载。我错过了什么吗?
提前致谢
class counters
{
protected $qCounters;
function __construct()
{
$this->qCounters = $_SESSION['q']['counters'];
}
// process happen here to alter values
function __destruct()
{
$_SESSION['q']['counters'] = $this->qCounters;
}
}
【问题讨论】:
-
我认为你最好只在此处对会话进行建模,然后添加方法以添加到特定的计数器字段,而不是尝试对计数器本身进行建模。
-
等等。 . .你在一个循环中多次调用一个页面。 . ?听起来。 . .可怕。为什么,你为什么要这样做?
-
为什么这么糟糕?在这种情况下,它可以很好地解决复杂问题
-
对于遇到相同问题的任何人,请查看以下内容。即使在具有复杂继承的类结构中也可以使用。 objectmix.com/php/…
标签: php debugging constructor session-variables destructor