Sanchez
Новичок
Как лучше сделать форму?
Решил наконец сделать какие-то заготовки для себя, чтоб ускорить процесс создания и модификации сайтов, заодно совместить это с изучением паттернов ООП.
Делаю класс для отображения формы. В нем в массиве хранятся все поля формы - их имена, тип (текст, радиобуттон и т.п.). И есть методы, вроде "записать себя в mysql", "отобразить форму", которые используют этот массив.
В целом все чинно - например, чтоб добавить новый элемент на форму, достаточно добавить его в массив, а он автоматом будет и БД вставляться, и на форме отображаться, и т.п. Но есть небольшая проблемка - в некоторых случаях нужно выводить форму не простым перечислением всех полей (что делается например с помощью foreach для массива параметров формы), а более хитро - чаще всего - с учетом дизайна. Например, два поля расположить в одной строке, третье - через две бр-ки, и так далее. Вот как быть в таком случае? Писать отдельный метод или делать отдельную стратегию? Но тогда при добавлении поля придется его прописывать в каждом методе, где форма выводится как я сказал выше "более хитро". Что очень нежелательно. Есть ли какие-то более красивые решения? Ну или может вообще моя идея не очень удачна и лучше сделать как-то по-другому.
Решил наконец сделать какие-то заготовки для себя, чтоб ускорить процесс создания и модификации сайтов, заодно совместить это с изучением паттернов ООП.
Делаю класс для отображения формы. В нем в массиве хранятся все поля формы - их имена, тип (текст, радиобуттон и т.п.). И есть методы, вроде "записать себя в mysql", "отобразить форму", которые используют этот массив.
В целом все чинно - например, чтоб добавить новый элемент на форму, достаточно добавить его в массив, а он автоматом будет и БД вставляться, и на форме отображаться, и т.п. Но есть небольшая проблемка - в некоторых случаях нужно выводить форму не простым перечислением всех полей (что делается например с помощью foreach для массива параметров формы), а более хитро - чаще всего - с учетом дизайна. Например, два поля расположить в одной строке, третье - через две бр-ки, и так далее. Вот как быть в таком случае? Писать отдельный метод или делать отдельную стратегию? Но тогда при добавлении поля придется его прописывать в каждом методе, где форма выводится как я сказал выше "более хитро". Что очень нежелательно. Есть ли какие-то более красивые решения? Ну или может вообще моя идея не очень удачна и лучше сделать как-то по-другому.