/** * 创建一个新实例 * * @param array $filters * <p> * <pre> * array('username'=>array('StripTags')) * </pre> * </p> * @param array $validate * <p> * <pre> * array('username'=>array('Required'=>'can not be empty')) * </pre> * </p> * @param array $data */ public function __construct($filters, $validate, $data) { $this->filters = array(); $this->validators = array(); //添加过滤器 foreach ($filters as $field => $filter_name) { $filter_tmp = new Filter(); foreach ($filter_name as $name) { $filter_name = 'filter\\' . $filter_name; if (class_exists($filter_name)) { $filter_tmp->addFilter(new $filter_name()); } } $this->filters[$field] = $filter_tmp; } //添加验证器 foreach ($validate as $field => $rules) { $validator_tmp = new Validator(); foreach ($rules as $rule => $params) { $rule_name = 'validator\\' . $rule; if (class_exists($rule_name)) { $obj = new $rule_name($params); $validator_tmp->addValidator($obj); } } $this->validators[$field] = $validator_tmp; } $this->filter($data); }