Ver Mensaje Individual
  #13 (permalink)  
Antiguo 15/06/2012, 08:36
Avatar de sebastianxjavier
sebastianxjavier
 
Fecha de Ingreso: agosto-2011
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: PHP + POO diferenciar objetos instanciados

Cita:
Iniciado por oscartt67 Ver Mensaje
...no se localizar el error en tu código, pero teniendo en cuenta que hay el mismo num de elementos en ambos arrays, otra manera seria:
Código PHP:
$out1 = array(); 
$out2 = array(); 

while (
$registro mysql_fetch_assoc($documentox)) 

   
$cliente = new Cliente(); 
   
$cliente->setIdCliente($registro['id_cliente']); 
   
// ... 
  
$documento = new Documento_Pago(); 
  
$documento->setIdDocumentoPago($registro['id_documento_pago']); 
  
// ... 
  
$out1[] = $documento
  
$out2[] = $cliente


// vista 
for($i=0;$i<count($out1);$i++){
   echo 
$out1[i]->getIdCliente(); 
   echo 
$out2[i]->getIdDocumentoPago(); 

saludos.
Muchas gracias compadre... asi mismo me ha funcionado :).. lo raro es que me quedare con la duda de porque no me sirvio pasar los array a una lista.. pero bueno.. funciona que es lo importante... te pasaste! salu2!

Cita:
Iniciado por masterpuppet Ver Mensaje
Que tal sebastianxjavier,

No tienes una asociación entre las clases ? cual es tu lógica ?, un cliente tiene varios documentos y un documento pertenece a un cliente ?, no deberias tener algo asi:

Código PHP:
Ver original
  1. $client = new Client();
  2. $doc->setClient($client);
  3. $docs[] = $doc;
  4.  
  5. foreach($docs as $doc) {
  6.    //doc
  7.     echo $doc->getId();
  8.     echo $doc->getName();
  9.     //client
  10.     echo $doc->getClient()->getName();
  11.    //or proxy method
  12.     echo $doc->getClientName();
  13. }

Con respecto a los getters & setters, la tendencia por suerte es como lo tienes ahora, menos magia, te sugiero que lo dejes tal cual, y ten en cuenta que si haces tal modificación los IDE's o editores no van a poder hacer una correcta introspección de la clase.

Saludos.

Bueno, básicamente como se trabaja en objetos, el id del cliente y los atributos que siguen de él solo pertenecen a la clase cliente que hereda de persona, por lo cual no son atributos de la clase documento, por lo que es esa la razón para no haber puesto los datos del cliente en esta ultima clase, pero obviamente se ve reflejado en el modelo físico de datos con la asociación pertinente 1->n. Saludos y gracias