Ver Mensaje Individual
  #15 (permalink)  
Antiguo 15/03/2011, 18:59
Avatar de carlos_belisario
carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: duda de concepto en MVC

Cita:
Iniciado por masterpuppet Ver Mensaje
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.

Saludos.
Magistral!!!! tu explicacion sobre como me ayudaria el inflactor en este caso y me ahorro todos los if que cree, entonces me sugieres que el inflactor sea una clase o seria mejor un metodo mas?? gracias por tu ayuda amigo masterpuppet
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way