Я разрабатываю PHP шаблонизатор которые будут иметь пользовательские модули, разработанные для Bootstrap 3.
Я работаю над FormBuilder
модуль, который будет содержать FormField
элементы. Эти FormField
элементы будут автоматически отображаться и стилизовать каждое поле в форме.
Вопрос в том, стоит ли мне FormField
элементы автоматически оборачиваются <div class='form-group'>
теги? Есть ли причина, по которой кто-то не должен использовать form-group
для компонентов формы?
Если это поможет, я планирую иметь отдельный FormButton
класс, так как кнопки ведут себя / стиль отличается от других элементов формы.
Изменить: Подумав об этом немного больше, я мог бы использовать абстрактные классы, чтобы сделать что-то вроде этого:
class FormBuilder {
protected $components = []; // Array of FormComponents
...
}
abstract class FormComponent {
...
}
class FormGroup extends FormComponent {
protected $field; // A FormField object
...
}
class FormField extends FormComponent {
...
}
class FormButton extends FormComponent {
...
}
Это зависит от того, хотите ли вы иметь FormField, который обрабатывает группу радио или флажки. Это действительно единственные элементы управления, которые имеют несколько входных тегов без группы. Возможно, было бы лучше включить его в качестве необязательного для обоих сценариев, поскольку никогда не выводите div-группы форм или всегда выводите их, вы столкнетесь с проблемами с точки зрения внешнего вида.
Других решений пока нет …