PHP를 처음 사용했습니다. 예를 들어 MVC 프로젝트를 사용하고 있는데 제출 버튼을 누를 때마다 내 컨트롤러가 호출된다는 것을 알게되었습니다. 이 문제는 버튼을 누를 때마다 새 모델을 생성한다는 점에서 문제가 있습니다.PHP MVC 컨트롤러 반복 작성
이 문제를 해결하기 위해 숨겨진 필드를 사용하여 단추가 이미 눌려져 있는지 확인했습니다. 그렇다면 새 모델을 인스턴스화하지 않습니다. 그렇지 않으면 않습니다.
//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는 stateless입니다. 즉, 요청할 때마다 컨트롤러를 인스턴스화해야합니다. 또한 "MVC"는 PHP에서 MVC가 아닙니다 (적어도 C와 같은 항목에서 찾을 수 있음). – Scopey
MVC와는 아무런 관련이 없습니다. 위의 코드는 컨트롤러 클래스에 있습니다. '제출'을 누를 때마다 모델이 생성되는 것을 방지하는 방법을 알아 내려고 노력 중입니다. – JKoko