Я новичок в 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?! –
Я думаю, что здесь у вас неправильная идея. PHP предназначен для использования через HTTP, а HTTP - без гражданства. Это означает, что вам придется создавать экземпляр вашего контроллера по каждому запросу. Следует также отметить, что «MVC» в php на самом деле не MVC (по крайней мере, что вы найдете в чем-то вроде C) – Scopey
Как это не имеет ничего общего с MVC? Код выше находится в моем классе контроллера. Я пытаюсь выяснить, как предотвратить создание модели при каждом нажатии «submit». – JKoko