2016-09-29 163 views
0

我的php代码创建了一个“学校”对象,它是(其他功能)能够返回多个表单,这些表单在提交时由php处理。 通过这些形式之一,我可以添加一个“SchoolClass”对象到“学校”对象中的数组,但似乎在我添加“SchoolClass”对象后某个点重新创建了“学校”对象。这种重新创造使“学校课程”阵列消失。维护php对象状态

返回表单的函数是静态的,但“SchoolClass”对象添加到数组中的函数不是静态的; (“学校:: ShowStudentForm()和学校 - > RegisterSchoolClass($类)”)

两个类定义和PHP脚本用来处理表单提交后是在同一个文件(的index.php)。我有这样的想法,即将类代码和表单处理代码保存在同一个文件中会起到诀窍的作用,但它没有改变。

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

是的,这个问题可能以前也遇到过,因此之前也有答案,但我还没有找到我明白的答案。

+0

你指的是通过多个HTML表单页面保存数据? – Siguza

+0

如果我理解你的问题,答案只是当时的一种形式。但有几种形式可以从“学校”中调用 – Kapalua

回答

0

好的....我想通了。 我可以使用$ _SESSION变量来存储它。

我现在这样在页面的开始:

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