HTTP формы с использованием необработанного PHP - PullRequest
2 голосов
/ 06 июня 2009

Моя первоначальная стратегия при разработке форм была такой: отправка формы обратно на ту же страницу, и в обработчике страницы я начинаю с поиска переменных POST и выполнения соответствующих действий, затем отображаю содержимое страницы. Сначала все выглядело радужно. Я бы поместил скрытое поле внутри своей формы и страницы, чтобы отслеживать текущее состояние, и я мог бы реализовать конечный автомат на странице, чтобы отобразить страницу в состояниях просмотра, редактирования или добавления. Но через 2 месяца мои страницы превратились в отвратительных монстров с состоянием, изобилующих IF и ветками, которые невозможно поддерживать, состояние, которым обмениваются страница и клиент в скрытых полях, имеет «весовой вызов», я просто не могу выдержать, как все это превратилось вне.

Что я делаю не так? Это сложно по своей сути? Я спускаюсь по скользкому пути переизобретения веб-форм ASP? Как это сделать правильно?

Технология позади (PHP) не имеет значения. Мой вопрос заключается в том, как сделать HTTP-формы, которые больше, чем просто взять 2 поля и перенаправить вас на страницу с благодарностью.

Ответы [ 3 ]

1 голос
/ 06 июня 2009

Вы действительно ничего не сделали неправильно per se, кроме игнорирования масштабируемости. Для вашей первоначальной области, передача POST работала как чудо, но по мере роста приложений или увеличения количества проектов, использующих вашу пользовательскую среду, все больше и больше кода повторяется, и вы обнаружите, что переписываете то, что вы уже сделали с нуля, а какие снежные комы в кошмар обслуживания.

Решение состоит в том, чтобы использовать установленную среду, такую ​​как CodeIgniter , CakePHP , Symfony или любую другую, так что вы по сути никогда не будете повторять общие задачи и все ваши приложения будут иметь одинаковую структуру и поток. Есть простые видео, которые помогут вам начать с любого из них.

Я предполагаю, что вы пытаетесь имитировать ViewState, когда упоминаете ASP.NET, который на самом деле не нужен. Каждая из этих структур имеет встроенные методы для обработки отправки и проверки форм - и в сочетании с некоторыми технологиями на стороне клиента, такими как jQuery , вы можете легко создавать многофункциональные приложения.

1 голос
/ 06 июня 2009

Этот стиль, безусловно, пригоден до определенного момента; но нужна дисциплина. Я объяснил свою собственную методологию здесь . Обратите внимание, что если что-то становится слишком сложным, или если команда растет, стоит использовать реальную среду. (Джанго просто великолепен!)

1 голос
/ 06 июня 2009

, если вы хотите больше ощущения отсутствия состояния, проверьте сеансы.
http://us3.php.net/manual/en/book.session.php

ваш метод работает довольно хорошо для небольших и независимых форм, но вам нужно что-то немного лучше для больших веб-приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...