Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema con clase ActiveTable

Estas en el tema de Problema con clase ActiveTable en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola que tal? Estoy usando ActiveTable / ActiveRecord en mi framework (tal vez por que es lo primero con lo que di y quiza haya ...
  #1 (permalink)  
Antiguo 18/06/2009, 21:43
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 20 años
Puntos: 2
Problema con clase ActiveTable

Hola que tal?

Estoy usando ActiveTable / ActiveRecord en mi framework (tal vez por que es lo primero con lo que di y quiza haya algo mejor).

El caso es que desde que lo implemente, ya casi 1 año, siempre me encuentro con el mismo problema...

Tengo una clase padre con la logica del patron, con todo lo necesario para leer una tabla, cargar, actualizar y recuperar datos.

Luego tengo mis clases, por ejemplo, supongamos una clase "clientes", heredada de la primera (active table). Por lo general para pedir la lista de clientes haria algo asi:

Código PHP:

$clientes_admin 
= new Clientes_Admin();
$clientes $clientes_admin->findAll();
// Ahora $clientes es mi array de clientes... 
Esto es super comodo, pero el problema es que muchas veces tengo que alterar algun dato recuperado, supongamos que quiero procesar el campo "nombre" de cada cliente para que se vea diferente... si YA tengo la lista de clientes, no me queda otra que hacer:


Código PHP:
$clientesTotal count($clientes);
for (
$i=0;$i<$clientesTotal;$i++) {
  
// Proceso cada nombre
  
$clientes[$i]['nombre'] = strtolower($clientes[$i]['nombre']);

Lo malo de esto es tener que usar un BUCLE EXTRA... es decir, el metodo la llamada a $clientes_admin->findAll() ya esta utilizando un bucle de forma interna para hacer el fetch de cada row de la base... y luego hago otro para procesar...



No se si estoy siendo muy claro, pero de todos modos me imagino que esta situacion es normal o lo ha sido para muchos...

¿Hay algo que pueda hacer para evitar meter un bucle de más? (¿Podre evitar tener que utilizar funciones tipo Call Back dentro de mi clase padre Active Table?)


Muchas gracias !
  #2 (permalink)  
Antiguo 19/06/2009, 09:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: Problema con clase ActiveTable

Pues creo aqui me viene en mente lo que es el patrón decorator, que sirve para casos como los que necesitas, cambiar un tipo de dato "alterarlo" de alguna forma y agregar decoradores como sea necesario, debería de darle una leida y lo podrías implementar con tu clase.

Saludos.
  #3 (permalink)  
Antiguo 19/06/2009, 19:54
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 20 años
Puntos: 2
Respuesta: Problema con clase ActiveTable

Voy a hecharle un vistazo a ver de que se trata, gracias Gator!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:40.