[Programación] Re: [Programación] RE: [Programació n] Re: [Programación] Re: [Programa ción] RE: [Programación] Proyecto sus cripción a jornadas

Nicolás Aimetti programacion@lugro.org.ar
Wed, 30 Nov 2005 15:15:44 +0000


> Aclarámelo con un ejemplo.
> Gracias.
> 

attr varchar(30)

Supongamos que en attr guardas el string "OBLIGATORIO:SHADOW"
Esto significaria que el campo es obligatorio y que en el formulario no 
debe hacerse un echo de los caracteres que ingresa el usuario (sería el 
type password de los input de html).
Para saber si en ese campo es obligatorio podes o bien buscar la regex 
"OBLIGATORIO" en el campo attr (forma relajada) o separar los attributos
por el ':' haciendo un split y fijarte que existe el atributo 
'OBLIGATORIO' (forma más precisa).

No digo que esto vaya a ser completamente necesario para nuestra 
aplicación (quizás el atributo OBLIGATORIO si), lo que digo es que si 
uno luego desea extender la aplicación tener un campo en donde se puedan 
        especificar attributos del campo puede ser de utilidad.

El otro metodo que mencione, el de usar un Or no es muy típico de la 
programación web, si muy común en C y lenguajes de bajo nivel.

attr int(10)

O sea,
supongamos definimos estos atributos... (lo hago en C que estoy más 
acostumbrado)
#define OBLIGATORIO (1)
#define SHADOW      (1<<1)
#define CRYPT       (1<<2)

Luego si queres que en que el attr sea obligatorio y este encriptado 
haces...

int attr = CRYPT | OBLIGATORIO ;
Lo insertas en la base...

Luego para saber si es obligatorio haces:

int es_obligatorio = (attr & OBLIGATORIO);



>>O sino agregar un solo campo 'atributos'  donde estas opciones se
>>especifiquen como atributos separados por comas, o mediante Or (esto
>>implicaria flags binarios), como para poder extender la aplicacion sin
>>necesidad de modificar el modelo de datos.
> 

Saludos,
         Nicolás.