El inflector lo que haria seria transformar los string del array rules, tal cual lo estas planteando las funciones para validar empiezan por undescore y utilizan lowercamelcase y en el array de rules vienen con el formato no-empty, numeric, la idea seria transformar el no-empty en _noEmpty, numeric en _numeric, esto:
Código PHP:
Ver originalif($valores === "no-empty"){
$respuesta = $this->_noEmpty($rules['name'],$valor);
}
if($valores === "numeric"){
$respuesta = $this->_numeric($rules['name'],$valor);
}
elseif($valores === "email"){
$respuesta = $this->_email($rules['name'],$valor);
}
podria ser algo asi:
Código PHP:
Ver original$validator = $this->_getInflectedName($valores);
throw new BadMethodCallException(/*...*/);
}
$respuesta = $this->$validator($rules['name'], $valor);
La ventaja es que al crear nuevos validators, cosa que seguro ocurrira, no tendras que estar agregando if's.
Agregado:
otra sugerencia carlos, el nombre de las clases, metodos y variables deberia ser homogéneo, elegi español o ingles y apegate a ello.
Saludos.