Desde que empecé a jugar con PHP he tenido necesidad de validar la entrada del usuario, por ejemplo, tarea habitual que siempre hay que llevar a cabo, así que, al final, uno acaba preparando algunas funciones de ayuda que pueda usar cuando sea menester.
En el caso de Gesbit, por ejemplo, se cuenta con una clase "Validate", y otra "GbValidate", derivada de aquella, que cuentan con métodos para validar cadenas, números, direcciones de correo, etc.
Sin embargo, aunque Gesbit necesita de PHP 5, no estoy utilizando funciones de PHP 5 como "filter_var()", que, en buena medida, vienen a paliar ciertas carencias (aunque esto no es del todo cierto) de PHP en cuanto a la validación de la entrada de usuario se refiere.
¿Y por qué no uso la función susomentada, entre otras, y ciertas constantes que se añaden en PHP 5? Por costumbre... de hecho la clase "Validate" no la escribí para Gesbit, sino que ya la he utilizado en otros proyectos anteriores. Ahora bien, renovarse o morir...
Pongamos como ejemplo el método de la clase "Validate" que se encarga de validar direcciones de correo. Además, he tenido que editarlo hoy mismo, porque estaba haciendo mal su trabajo (gracias BuNKeR), ya que no estaba dando por válidas direcciones de correo con dominio ".com.ar", perfectamente válidas.
Bueno. Que me lío. He aquí el método que sirve en Gesbit para validar direcciones de correo:
static public function EmailAddress($input){ $pattern = "/^([a-z0-9+_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i"; return preg_match($pattern, $input); }
Es sólo un ejemplo. Ahora veamos cómo se haría "lo mismo" utilizando la función "filter_var" de PHP:
static public function EmailAddress($input){ return (filter_var($input, FILTER_VALIDATE_EMAIL) !== false); }
De ahí que me esté planteando usar en Gesbit estas nuevas funciones y constantes de PHP 5, no porque el código actual usado en Gesbit para estos menesteres no sea más o menos correcto, sino porque no estoy aprovechando las características de PHP 5, cuando uno de los requerimientos de Gesbit es, precisamente, contar con esta versión de PHP.
En fin. Que se queda uno atrasado como no espabile...
Publicada el Jueves, 3/1/2008 por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks