我不想使用已經完成的在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和圖案設計模式用於標籤/輸入或如何標籤和輸入合併成一個類標識爲標籤或輸入或文本域等等
爲什麼要爲標籤和輸入使用不同的類?您可以簡單地在輸入對象上設置「標籤」屬性。您只需在呈現控件及其相關標籤時使用該屬性。 – 2013-03-18 19:01:40
我想將Input,Label,TextArea和其他表單元素類合併爲一個,這樣我就不必有束類。不知道要使用哪種模式 – GGio 2013-03-18 19:04:02
由於您在問題中提到了「構建表單」。最好的設計模式將是建設者模式http://sourcemaking.com/design_patterns/builder/php/1#code – Bart 2013-03-18 19:16:30