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

algo similiar a .add de java

Estas en el tema de algo similiar a .add de java en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estimados amigos, les cuento estoy realizado lo siguiente: tengo un archivo reserva.php -> intancia a -> reserva.dbo.php en otras palabras reservar.php @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 23/07/2012, 16:16
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
algo similiar a .add de java

Estimados amigos,

les cuento estoy realizado lo siguiente:

tengo un archivo

reserva.php -> intancia a -> reserva.dbo.php

en otras palabras

reservar.php
Código PHP:
Ver original
  1. <?php
  2. require_once('reserva.dbo.php');
  3. $reserva = new ReservaDbo();
  4. $reserva->getAll(); //metodo para retornar todas las reservas (se supone que seria una collection de reservas) ¿como las puedo iterar?

hasta aqui todo bien, pero ahora quiero que getAll() me devuelva una coleccion de reservas, aqui el codigo de reserva.dbo.php

Código PHP:
Ver original
  1. <?php
  2. require_once('reserva.php');
  3. class ReservaDbo{
  4.  
  5.     public function getAll()
  6.     {
  7.        $collection = ''; //¿como tendria que definirla?
  8.        // -- simulo tener un arreglo de reservas --
  9.        foreach($reservas as $key)
  10.        {
  11.           $reserva = new Reserva();
  12.           $reserva->setId($key['id']);
  13.           $reserva->setFecha($key['fecha']);
  14.           $collection //¿como guardo ese nuevo objeto?
  15.        }
  16.        return $collection;
  17.     }
  18.  
  19. }

reserva.php
Código PHP:
Ver original
  1. <?php
  2. class Reserva {
  3.     private $id;
  4.     private $fecha;
  5.  
  6.     public function getId()
  7.     {
  8.          return $this->id;
  9.     }
  10.  
  11.     public function setId($id)
  12.     {
  13.           $this->id = $id;
  14.     }
  15.  
  16.  
  17.     public function getFecha()
  18.     {
  19.          return $this->fecha;
  20.     }
  21.  
  22.     public function setFecha($fecha)
  23.     {
  24.          $this->fecha = $fecha;
  25.     }
  26. }

bueno ese es el problema.

en java existen los ArrayList que te dan un metodo .add para guardar.

Código JAVA:
Ver original
  1. List<Reserva> reservas = new ArrayList<Reserva>();
  2. reservas.add();

y para iterar se tiene de Iterator

Código JAVA:
Ver original
  1. terator<Reserva> iterator = ReservaDbo.getAll().iterator();
  2.  
  3. while (iterator.hasNext()){
  4.     Reserva reservatmp = (Reserva) iterator.next();
  5.     Reserva reserva = new Reserva();
  6.     reserva.setId(reservatmp.getId());
  7.     reserva.setFecha(reservatmp.getFecha());
  8.     reservas.add(reserva);
  9. }


espero que me puedan ayudar.
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #2 (permalink)  
Antiguo 23/07/2012, 18:51
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: algo similiar a .add de java

No sé mucho de Java, pero casi te puedo asegurar que la función add() no existe por sí misma, a menos que estés usando una librería (mapeador o lo que sea) para manejo de datos.

Ya tienes tu función getAll(), entonces obtienes todos los registros con:

Código PHP:
Ver original
  1. $todasLasReserves = $reserva->getAll();
  2.  
  3. // Después los recorres:
  4. foreach($todasLasReservas as $unaReserva) {
  5.     // Aquí haces lo que tengas que hacer
  6.     // y guardarías con algo como:
  7.     $reserva->add($unaReserva);
  8. }

Pero, tú mismo debes crear la función para agregar esa reserva.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/07/2012, 19:00
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: algo similiar a .add de java

Tienes varias opciones, puedes crearte una clase collection, algo realmente sencillo de lograr en PHP, un ejemplo puede ser ArrayCollection de D2, o utilizar un array directamente

Código PHP:
Ver original
  1. $collection = array();
  2. foreach($records as $record){
  3.     $collection[] = $record;
  4. }

PS: talves te sirva algún SPL DataStructure

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: add, java
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 16:05.