Я не хочу использовать уже созданную библиотеку, которая строит формы в PHP. Я хочу написать свои собственные шаблоны дизайна. Я новичок в разработке шаблонов, поэтому мне нужно знать, какой шаблон дизайна наилучшим образом подходит для построения форм динамически в PHP.Какой шаблон дизайна использовать для динамической сборки формы. PHP
К примеру до сих пор я получил что-то вроде:
class FormBuilder {
private $formName;
private $formAttributes; //array('ID' => ?, 'Classes' => array(?,?) ...
private $formStyle; //Css styling of form
private Label $labels; //a collection of label objects holding bunch labels
private Input $inputs; //a collection of input objects holding bunch inputs
/* constructor to initialize everything */
/* GET/SET methods for each of the above private variables */
....
public function generateHTML() {
//takes above information and builds HTML and returns html
}
}
теперь моя проблема заключается в том, что мне нужно, чтобы иметь объект для каждой метки и объект для каждого входа. Howerver мне может понадобиться объект для или другие элементы формы. Лучший способ пойти на это вместо того, чтобы иметь классы для каждого, - это использовать заводской шаблон.
Можно ли предложить шаблон проектирования для FormBuilder и шаблонов для использования этикеток/ввода или как совместить метку и ввод в один класс, который идентифицирует его в качестве метки или ввода или текстового поля и т.д ...
Зачем вам использовать разные классы для ярлыка и ввода? Вы можете просто установить свойство «label» на свой входной объект. Все, что вам нужно сделать, это использовать это свойство при рендеринге вашего управления и связанной с ним метки. –
Я хочу комбинировать классы Input, Label, TextArea и другие классы элементов в одном, чтобы у меня не было классов сгустка. Не знаете, какой шаблон использовать – GGio
Поскольку вы упомянули «форму сборки» в своем вопросе. Лучшим шаблоном проектирования будет шаблон Builder http://sourcemaking.com/design_patterns/builder/php/1#code – Bart