维护php对象状态


Maintain php object state

我的php代码创建了一个"School"对象,它(在其他函数中)能够返回几个表单,这些表单在提交时由php处理。通过这些形式之一,我能够在"学校"对象中添加一个"学校"对象到数组中,但似乎"学校"对象在添加"学校"对象后的某个时候被重新创建。这个重新创建使得"SchoolClass"数组消失了。

返回表单的函数是静态的,但是将"SchoolClass"对象添加到数组中的函数不是静态的;("School::ShowStudentForm() and School->RegisterSchoolClass($class)")

类定义和提交后处理表单的php-script都在同一个文件(index.php)中。我有一个想法,保持类代码和表单处理代码在同一个文件中会做的技巧,但它没有做出改变。

问题1:我如何维护"学校"对象只要我需要它?问题2:是否可以创建一个只有静态方法的类,并将数据直接写入文件或数据库,以避免整个问题,或者只是跳过整个对象方法,只是使用"正常"函数?

是,这个问题可能以前遇到过,因此以前也回答过,但我一直无法找到一个我理解的答案。

OK....我想明白了。我可以使用$_SESSION变量来存储它。

现在我在页面的开头这样做:

$school = null;
if(!isset($_SESSION["school"]))
{ 
$school = new School; 
$_SESSION["school"] = $school;
echo "New school <br>";   
} else {
$school = $_SESSION["school"];
}