2009-06-05 3 views
2

폼을 개발할 때의 초기 전략은 다음과 같습니다. 양식을 같은 페이지로 다시 게시하고 페이지 처리기에서 POST 변수를 찾고 적절한 조치를 취한 다음 페이지 내용을 표시합니다. 처음에는 장미 빛으로 보였습니다. 내 양식과 현재 상태를 추적하는 페이지에 숨겨진 필드를 배치하고 상태, 편집 또는 추가 상태에서 페이지를 표시 할 페이지의 상태 시스템을 구현할 수 있습니다. 그러나 2 개월 후에 나의 페이지는 숨겨진 필드에서 페이지와 클라이언트 사이에 교환 된 상태가 '체중 도전'이라는 점에서 IF와 브랜치로 유지되는 것은 불가능한 무시 무시한 상태의 괴물이되어 버렸습니다. 아웃.원시 PHP를 사용하는 HTTP 양식

내가 뭘 잘못하고 있니? 이것은 본질적으로 어렵습니까? ASP 웹 양식을 재발견 할 때 미끄러운 경사면에 있습니다. 어떻게 이것이 제대로 이루어 집니까?

(PHP)의 배경 기술은 부적합합니다. 내 질문은 기본적으로 단순히 두 필드를 취하고 '감사'페이지로 전달하는 것 이상의 일을하는 HTTP 양식을 수행하는 방법입니다.

답변

1

이 잘못되었습니다. 확장 성을 무시한 경우를 제외하고는이 잘못되었습니다. 초기 범위에서 POST 처리는 매력처럼 작동했지만 응용 프로그램이 커지거나 더 많은 프로젝트가 사용자 정의 프레임 워크를 사용하기 시작할 때 점점 더 많은 코드가 반복되고 사용자는 이미 수행 한 작업을 처음부터 다시 쓰는 것을 볼 수 있습니다 유지 보수의 악몽으로.

이 솔루션은 확립 된 프레임 워크와 같은 CodeIgniter, CakePHP, Symfony 또는 본질적으로 결코 일반적인 작업을 반복되지 않을 것이고, 모든 응용 프로그램은 동일한 구조와 흐름을 가질 수 있도록 다른를 사용하는 것입니다. 이 중 어떤 것을 시작하게 할 수있는 간단한 비디오가 있습니다.

ASP.NET을 언급 할 때 ViewState을 모방하려고한다고 가정합니다. 실제로는 필요하지 않습니다. 이러한 각 프레임 워크에는 양식 제출 및 유효성 검사를 처리하는 내장 메소드가 있으며 jQuery과 같은 일부 클라이언트 측 기술과 결합하면 풍부한 응용 프로그램을 매우 쉽게 빌드 할 수 있습니다.

1

'상태없는'느낌을 더 얻고 싶다면 세션을 확인하십시오.
http://us3.php.net/manual/en/book.session.php

귀하의 방법은 소규모 및 독립적 인 양식에 대해 상당히 잘 작동하지만 더 큰 웹 응용 프로그램을 위해서는 약간 더 나은 것이 필요합니다.

1

이 스타일은 확실히 요점까지 사용할 수 있습니다. 그러나 약간의 징계가 필요합니다. 나는 내 자신의 방법론을 설명했다 here. 일이 복잡해 지거나 팀이 커지면 실제 프레임 워크를 사용하는 것이 좋습니다. (Django는 훌륭합니다!)