Я работаю над проектом, который требует много форм.Я думал об обходном пути, чтобы минимизировать тратить часы времени на эту тему.Помимо всего прочего, я не хочу использовать каркас, чтобы сделать это для меня, я все еще учусь, поэтому мне важно понять его суть.
Хорошо, поэтому у меня есть класс, называемый построителем форм,что выглядит так:
<?php
class formBuilder extends systemCore{
public $token, $method=array();
public function __construct(){
parent::__construct();
}
public function getFormMethod(&$method, $pop, $filter){//($_POST, true, filterStr)
if($pop == true):
array_pop($method);
endif;
foreach($method as $f => $v){
if(is_array($v)){
$v = implode(',', $v);
}
$this->method[$f] = $filter($v);
}
return $this->method;
}
public function generateToken(){
return $this->token = mt_rand(1, 10000).md5();
}
public function inputField($label, $type, $id, $name, $value, $title, $css, $required){
$required = ($required == true) ? trim('<span color="red">&lowast</span>') : '';
// i know this seems a little redundant
$label = (is_null($label)) ? '' : trim(htmlspecialchars($label, ENT_QUOTES));
$type = (is_null($type)) ? 'text' : trim(htmlspecialchars($type, ENT_QUOTES));
$id = (is_null($id)) ? '' : trim(htmlspecialchars($id, ENT_QUOTES));
$name = (is_null($name)) ? '' : trim(htmlspecialchars($name, ENT_QUOTES));
$value = (is_null($value)) ? '' : trim(htmlspecialchars($value, ENT_QUOTES));
$title = (is_null($title)) ? '' : trim(htmlspecialchars($title, ENT_QUOTES));
$css = (is_null($css)) ? '' : trim(htmlspecialchars($css, ENT_QUOTES));
echo('
<label for="'.$name.'">'.$label.'</label><br />
<input type="'.$type.'" id="'.$id.'" name="'.$name.'" value="'.$value.'" title="'.$title.'" class="'.$css.'">'.$required.'<br />
');
}
//.................and so on
} // end class formBuilder
?>
Что вы, ребята, думаете?Должен ли я просто придерживаться нормального и т. Д. Html display
$form = new formbuilder();
$form->inputField('name', 'text', 'name', 'name', 'my value', 'my title', null, true);
CSS будет применяться одинаково к обоим методам, поэтому я не буду сокращать время разработки, поэтому я не совсем уверенЯ бы разыграл эту карту.
Я просто хочу получить другие мнения по этому поводу, ура, ребята.