我是PHP新手。我以一個MVC項目爲例,我注意到每次按下提交按鈕時,我的控制器都會被調用。問題在於,每次按下按鈕時都會創建一個新模型。PHP MVC Controller重複創建
爲了解決這個問題,我使用了隱藏字段來檢查按鈕是否已經被按下。如果有,那麼我不會實例化一個新的模型,否則我會。從控制器代碼如下:
//code listed below is in the controller which is called each time button
//has been pressed...
$myModel;//used to access model and its functions from controller
if(isset($_POST['has_started']))
{
//stores some logic that uses $myModel variable
playingGame();
}
else
{
echo "just starting...";
$myModel=new HangManModel();
startGame($myModel);
}
這似乎是工作,但後來當playingGame()被調用它告訴我,我不能用$基於myModel及其功能,因爲它未聲明,或者它是一個非對象。我怎樣才能解決這個問題?謝謝您的幫助!
什麼是「MVC項目」,因爲你的代碼與MVC架構模式有**沒有關係? – 2014-09-02 05:15:38
我認爲你在這裏有錯誤的想法。 PHP旨在通過HTTP使用,並且HTTP是無狀態的。這意味着您必須在每個請求中實例化您的控制器。還應該注意的是,在PHP中的「MVC」根本不是真正的MVC(至少你會發現像C這樣的東西) – Scopey 2014-09-02 05:16:40
它與MVC無關嗎?上面的代碼在我的控制器類中。我試圖找出如何防止每次按下「提交」時創建模型。 – JKoko 2014-09-02 05:17:11