Здравствуйте!
Меня интересует вот какой концептуальный вопрос. Протокол HTML-это протокол "без памяти", то есть каждый вызов урла с именем скрипта никак явно не связан с предыдущим вызовом. Обойти это помогает механизм сессий, который реализован на достаточно "низком" уровне, и по сути является костылем. Использование "продвинутых" сессий, например как они реализованы в CodeIgniter, несколько упрощает работу, но логически механизм сессий остается тем же самым.
А хотелось бы понять вот что. Как построить свой фреймверк так, чтобы можно было прогать "как на обычном языке программирвания"? Ну, то есть, чтоб не замечать, что страница открыта заново с какими-то GET-параметрами, POST-данными, данными в сессиях... Чтобы данные в сессиях не приходилось чистить вручную при их ненадобности. То есть, чтобы абстрагироваться от этих веб-особенностей.
У меня при создании веб-приложения все время получается такой порочный круг:
- Формируем HTML с возможными URL, куда может перейти пользователь
- Запишем какие надо данные в сессию
- Показываем пользователю HTML, ждем его действий
- По совокупности состояний GET/POST/Сессий выясняем, что сделал пользователь
- Реализуем реакцию на действия пользователя
- Переходим к первому пункту
Этот цикл очень неестественен, хотя бы потому, что если в действиях пользователя происходит ветвление (пользователь может нажать "Далее", а может нажать какой-нить "Выбор из списка"), то получается, что будут вызваны разные контроллеры, и эти разные контроллеры должны правильно среагировать на предыдущее состояние программы, извлекаемое из GET/POST/SESS.
Получается, что контроль логики размывается по контроллерам, и приходится следить в нескольких разных (инкапсулированных!) местах кода за одними и теми же данными GET/POST/SESS. И если что-то в программе меняется (например добавляется/удаляется/переименовывается GET/POST/SESS переменная), надо прыгать по всем контроллерам, чтобы состыковывать эти изменения и обеспечить правильную логику. Такой процесс меня очень не радует.
Посему хочу услышать мнения профи, какую структуру фреймверка вы применяете, чтобы не долбаться, как я?
Ответ на:
комментарий
от boombick
Ответ на:
комментарий
от boombick
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от KRoN73
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от isden
Ответ на:
комментарий
от KRoN73
Ответ на:
комментарий
от KRoN73
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от KRoN73
Ответ на:
комментарий
от Miguel
Ответ на:
комментарий
от Miguel
Ответ на:
комментарий
от xintrea
Ответ на:
комментарий
от volh
Ответ на:
комментарий
от Miguel
Ответ на:
комментарий
от volh
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Miguel
Ответ на:
комментарий
от svr69
Ответ на:
комментарий
от Deleted
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум языки программирования (2013)
- Форум Язык программирования (2021)
- Форум язык программирования (2008)
- Форум языки программирования (2008)
- Форум Языки программирования (2003)
- Форум Языки программирования (2005)
- Форум Языки программирования (2005)
- Форум Языки программирования (2006)
- Форум Почему php считается плохим языком программирования? (2012)
- Форум Народ, завязывайте с программированием (2005)