Ponadto próbuje stworzyć do tej "samopiszącej się formy" validacje, która sama się będzie pisać. Jakieś porady :/ ?
class FormCreator { var $result; public function addfield ($type, $vars) { $this->$type($vars); } public function __construct() { $this->result = ''; } public function __destruct() { } private function startForm ($formname){ $this->result .= '<form action="'.PHP_SELF.'" method="post" id="'.$formname.'" class="form" enctype="multipart/form-data"> <input type="hidden" name="'.$formname.'" value="1">'; } private function endForm ($formname){ $this->result .= '</form>'; } private function input($vars){ $this->result .= '<input type="'.$vars['type'].'" class="'.$vars['style'].'" name="'.$vars['name'].'" id="'.($vars['id'] ? $vars['id'] : $vars['name']).'" data-req="'.$vars['required'].'">'; } private function select($vars) { $this->result .= '<select name="'.$vars['name'].'" id="'.$vars['name'].'" data-req="'.$vars['required'].'">'; for ($i=1;$i<=$vars['options'][0];$i++){ $this->result .= '<option>'.$vars['options'][$i].'</option>'; } '</select>'; } private function label_start($vars){ $this->result .= '<label for="'.$vars['for'].'">'.$vars['s_text'].''; } private function label_end($vars){ $this->result .= $vars['e_text'].'</label>'; } private function button($vars){ $this->result .= '<input type="submit" value="'.$vars.'">'; } public function getResult(){ return $this->result; } } // Create a new object $obj = new FormCreator("test"); $input2 = array ( type => 'radio', style => 'test', required=> 'yes', name => 'radion1', id=> 'r1' ); $label1['s_text'] = 'Some text'; $label1['for'] = 'r1'; $obj -> addfield("startForm", "autoform"); $obj -> addfield("input", $input1); $obj -> addfield("label_start", $label1); $obj -> addfield("input", $input2); $obj -> addfield("label_end", $label1); $obj -> addfield("select", $select1); $obj -> addfield("button", "Send Me Now"); $obj -> addfield("endForm", "");