definir($params); } // definir les champs function definir($params=array()) { foreach ($params as $cle=>$valeur) { if (isset($this->$cle)) { // si une fonction specifique existe pour ce type, l'utiliser if (method_exists('ChampExtra','set_'.$cle)) { $this->{'set_'.$cle}($valeur); } else { $this->$cle = $valeur; } } } } // declarations specifiques function set_type($val='textarea') { if (!in_array($val, array('textarea','input'))) { $val = 'textarea'; } $this->type = $val; } } ?>