Я работаю над проектом в тот момент, который требует много форм. Я думал об обходном пути, чтобы свести к минимуму расходы на время. Прежде всего, я не хочу использовать фреймворк, чтобы сделать это для меня, я все еще учусь так, что важно для меня понять суть.Quicker Forms html/php?
Ok поэтому у меня есть класс с именем формы строитель, которая выглядит следующим образом:
<?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 дисплей
$form = new formbuilder();
$form->inputField('name', 'text', 'name', 'name', 'my value', 'my title', null, true);
CSS-будет применяться тот же к обоим методам, так что я на самом деле не вырезать любое время разработки здесь, так что я не совсем уверен, как я будет играть эту карточку.
Я просто хочу получить другие мнения по этому поводу, приветствует ребят.
Спасибо за ваше Быстродействие, Я планирую на использование базы в будущем, возможно, «CodeIgnitor». Про, я взял на борт, где те, которые вы предлагаете (SQL Schema, build arrays). Я принимаю вашу точку зрения о повторном использовании, но пока я продолжаю проверять отдельно, я должен быть в порядке. – Philip
Вы можете поместить некоторые основные валидации в свой класс и все еще держать его повторно используемым. Опять же, проверьте CakePHP на эти вещи. В частности, мне нравится, как они передают конфигурационные массивы, а не длинные списки параметров. Кроме того, их простые правила проверки - notempty, alphanum, email, url и т. Д. Являются довольно стандартными. Я посмотрел на CodeIgnitor, но чувствовал, что это больше набор библиотек, чем структура. Посмотрите, как это вас примет, а затем принять решение. Вы можете обнаружить, что вы, естественно, кодируете одну из этих фреймворков. –
Мне нравится ощущение «codeIgnitor» +, он может использовать некоторые из файлов zend lib, которые для меня важны +. Я где-то размещал, что некоторые из валидации могут быть повторно использованы, такие как «email» и «password» – Philip