2016-09-29 127 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"]; 
}