Foros del Web » Programando para Internet » PHP »

consultar mismo objeto orientado a objetos

Estas en el tema de consultar mismo objeto orientado a objetos en el foro de PHP en Foros del Web. Hola a todos la siguiente inquietud esta relacionada explicitamente con la programación orientada a objetos. resulta que tengo la clase Persona con los atributos nombre, ...
  #1 (permalink)  
Antiguo 11/12/2015, 16:19
 
Fecha de Ingreso: junio-2010
Mensajes: 168
Antigüedad: 14 años, 5 meses
Puntos: 3
consultar mismo objeto orientado a objetos

Hola a todos la siguiente inquietud esta relacionada explicitamente con la programación orientada a objetos.

resulta que tengo la clase Persona con los atributos nombre, apellido, y cedula
y los metodos consultar(), insertar()

todo esta muy bien, pero ahora si yo deseo consultar varias personas como lo debo manejar? Repito todo esto desde la orientacion a objetos.

Creo un objeto PersonaS con un atributo tipo objeto Persona? es esto valido? crear un objeto con un solo atributo y un solo metodo que seria la consulta? o como se debe manejar..

espero me puedan ayudar.. gracias
  #2 (permalink)  
Antiguo 11/12/2015, 16:36
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: consultar mismo objeto orientado a objetos

Hola amigo,
puedes crear un array de personas ;)
Sin necesidad de crear la clase "Personas"
puedes tener algo similar a esto: (ojo, es solo ejemplo, no es tan literal)

Código PHP:
Ver original
  1. $array_personas = array(new Persona(),new Persona()...);

O en su defecto:

Código PHP:
Ver original
  1. $persona1 = new Persona();
  2. $persona2 = new Persona();
  3. $array_personas = array();
  4. array_push($array_personas,$persona1,$persona2); //las personas q tu quieras
  #3 (permalink)  
Antiguo 11/12/2015, 17:50
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años, 5 meses
Puntos: 25
Respuesta: consultar mismo objeto orientado a objetos

No estoy muy seguro de lo que quieres hacer.

¿Si quieres consultar varias personas? Puedes hacerlo una detras de otra, manualmente.

¿Quieres que te devuelva todas las personas guardadas?

No sabemos exactamente que es lo que hace por ejemplo tu metodo consultar en la clase personas, pero supongo que te devuelve un string con los datos de dicha persona, entonces según ese caso yo crearia una clase Grupo con un atributo que seria un array de objetos de clase persona, y con un metodo llamado consultar, que consultaria a todas las personas de ese array. Simplemente llamaría al metodo consultar de cada objeto persona.


Algo así:
Código PHP:
Ver original
  1. class Grupo{
  2.     public $personas = array();
  3.    
  4.     public consultar(){
  5.         $result = "";
  6.         foreach($this->personas as $persona){
  7.             $result .= $persona->consultar();
  8.             $result .= "<br>";
  9.         }
  10.        
  11.         return $result;
  12.     }
  13. }
  14.  
  15. $grupo = new Grupo();
  16.  
  17. $grupo->personas[] = new Persona();
  18. $grupo->personas[] = new Persona();
  19. $grupo->personas[] = new Persona();
  20.  
  21. // o tambien: $grupo->personas = array(new Persona(), new persona(), new persona);
  22.  
  23. echo $grupo->consultar();


PD: te aconsejo que no uses nombres de clases muy parecidos, Persona, Personas, puede llevarte a confundirte en el codigo y crearte errores. Otra cosa sería que pusieras: PersonaGrupo, pero Persona y Personas solo se diferencia en la S, y creeme que cuando te equivocas en el codigo es dificil de ver. Por eso recomiendo por ejemplo este caso Grupo.
  #4 (permalink)  
Antiguo 14/12/2015, 07:46
 
Fecha de Ingreso: junio-2010
Mensajes: 168
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: consultar mismo objeto orientado a objetos

Hola gracias por la rápida respuesta a ambos.. la solucion de array aplica... pero repito mi pregunta es mas hacia a orientacion a objetos sobre como se debe manejar...

Amiancht-> lo que deseo es traer todas las personas guardadas, por lo q segun tu respuesta seria cambiar el codigo del metodo consultar y allí introducir la consulta sql.

Actualmente lo estoy haciendo asi.. mi duda era si es correcto crear la clase grupoPersonas, solo para eso...

Gracias
  #5 (permalink)  
Antiguo 14/12/2015, 13:55
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: consultar mismo objeto orientado a objetos

Cita:
Iniciado por felipe12357 Ver Mensaje
Hola gracias por la rápida respuesta a ambos.. la solucion de array aplica... pero repito mi pregunta es mas hacia a orientacion a objetos sobre como se debe manejar...

Amiancht-> lo que deseo es traer todas las personas guardadas, por lo q segun tu respuesta seria cambiar el codigo del metodo consultar y allí introducir la consulta sql.

Actualmente lo estoy haciendo asi.. mi duda era si es correcto crear la clase grupoPersonas, solo para eso...

Gracias
Hola Amigo, pues creo q podrías crear tu clase grupoPersona, aunque...
no le veo mucho sentido, a menos que ocupes más métodos en general, como por ejemplo, actualizar varias personas, o eliminar , u otras operaciones
pero lo puedes hacer :p
  #6 (permalink)  
Antiguo 15/12/2015, 03:19
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años, 5 meses
Puntos: 25
Respuesta: consultar mismo objeto orientado a objetos

Cita:
Iniciado por felipe12357 Ver Mensaje
Hola gracias por la rápida respuesta a ambos.. la solucion de array aplica... pero repito mi pregunta es mas hacia a orientacion a objetos sobre como se debe manejar...

Amiancht-> lo que deseo es traer todas las personas guardadas, por lo q segun tu respuesta seria cambiar el codigo del metodo consultar y allí introducir la consulta sql.

Actualmente lo estoy haciendo asi.. mi duda era si es correcto crear la clase grupoPersonas, solo para eso...

Gracias
Si es solo para hacer la consulta a varios objetos persona, no le veo sentido. Si vas a hacer más operaciones con una agrupación determinada de personas, entonces sí. Pero para un solo método no es necesario.

En caso de que solo quieras consultar, y nada más, simplemente crea un array de objetos de la clase persona, y cuando le hayas asignado las personas que quieras consultar, recorres el array y consultas uno por uno.

Por otro lado, tampoco es que sea incorrecto crear la clase GrupoPersona, aunque solo tenga un método. Ya que, quién sabe, a lo mejor en el futuro le quieres añadir más opciones y funcionalidades a dicha clase. Y estructurándolo de principio en una clase te es más limpio y cómodo para agregar nuevas funcionalidades.

Pero vamos, no es que sea ninguna de las dos formas correcta o incorrecta. Simplemente, si tu no crees en principio, que vayas a necesitar crear más funciones para un grupo de Personas determinada, no crees la clase nueva. Pero si en principio, además de consultar varias personas a la vez, crees que necesitaras hacer más cosas con esas agrupación de personas al mismo tiempo, crea la clase.

Etiquetas: consultar, objeto, objetos, orientado
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 01:25.