Как организовать логику в одностраничном PHP приложении?
Здравствуйте.
Есть одностраничное приложение на php. На странице находятся табы, в каждом табе форма, отвечающая за определённый функционал.
Есть куча if'ов, проверяющих какая форма отправлена:
Если форма_1, то делай это.
Если форма_2, то вот это.
Сколько табов, столько и таких блоков, а внутри них проверяется заполненность определённых полей (часто они дублируются). Т.е. основной php файл приложения превратился в большую портянку из таких if'ов.
Каким образом организовать логику, чтобы не было дублирования проверок и обеспечить масштабируемость приложения? И подскажите литературу по проектированию веб-приложений.
Самый правильный вариант - использование ООП. Нужен набор классов.
1. Класс для валидации полей формы
2. По одному классу для обработки каждой формы (причем общие методы для всех форм выносим в базовый класс а остальные наследуют его)
3. Класс-фабрика, которая будет возвращать нам нужный объект формы для работы
Фабрика - это такой шаблон проектирования. Если по простому - это класс у которого есть метод, скажем getFormObject(). В него будет передаваться POST запрос с формы, а в методе будет блок switch, в котором будут анализироваться данные из POST (какая это форма) и возвращать конкретный объект: return new formObj1...