Ver Mensaje Individual
  #14 (permalink)  
Antiguo 15/03/2011, 18:48
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: duda de concepto en MVC

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 original
  1. if($valores === "no-empty"){                                
  2.     $respuesta = $this->_noEmpty($rules['name'],$valor);
  3. }
  4. if($valores === "numeric"){                            
  5.     $respuesta = $this->_numeric($rules['name'],$valor);
  6. }
  7. elseif($valores === "email"){
  8.     $respuesta = $this->_email($rules['name'],$valor);
  9. }
podria ser algo asi:
Código PHP:
Ver original
  1. $validator = $this->_getInflectedName($valores);
  2. if(!is_callable(array($this, $validator))){
  3.    throw new BadMethodCallException(/*...*/);
  4. }
  5. $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.
__________________
http://es.phptherightway.com/
thats us riders :)

Última edición por masterpuppet; 15/03/2011 a las 18:56