Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2006, 22:54
Core2Quadro
 
Fecha de Ingreso: noviembre-2006
Ubicación: Argentina - Entre Rios
Mensajes: 15
Antigüedad: 17 años, 5 meses
Puntos: 0
Ayuda OOP (incomming from java)

Primeramente saludos a la buena gente de forosdelweb.
He leido muchos de sus posts aprendiendo php.

Me gustaria que me dieran una mano un poco mas personalizada con lo que estoy desarrollando, ya que me cuesta un poco entender como implementa la OOP php.

Lo que estoy tratando de hacer es pedirle a un "bean" o un objeto que cargue datos, que me diga cual es la clase que se encarga de el acceso a la base de datos para cargarlo, o cual es la clase que se encarga de representarlo en el navegador.

La idea es que implementando una interfaz, distintos objetos de distintas clases puedan ser cargados en un array y ser representados o guardados con cierto automatismo, y que en el mismo objeto pueda saber cual es la clase que tiene la responsabilidad de guardarlo o renderizarlo, o lo que sea.

Ejemplo (no creo que este correcta la sintaxis, ni mucho menos, pero es la idea de lo que trato de hacer):


Interface "Bean":

Código PHP:

interface Bean
{
     
/*** Supuestamente este metodo tendria que devolver
             la clase que corresponde al Data Access Object de la 
             instancia en cuestion *****/

     
public class getDAO();

     
/*** Supuestamente este metodo tendria que devolver
             la clase que corresponde al Formulario de la instancia en
             cuestion *****/

     
public class getForm();



Ahora un par de clases que los implementan:

Código PHP:

class Persona implements Bean
{
     public 
$id;
     public 
$nombre;
     public 
$apellido;
     public 
$documento;

     public class 
getDAO()
     {
          return 
PersonaDAO;
     }

     public class 
getForm()
     {
          return 
PersonaFORM;
     }

}


/************************************/



class Cliente extends Persona implements Bean
{
     public 
$id;
     public 
$nroCuenta;
     public 
Persona $persona;  //esto tampoco anda no?

     
public class getDAO()
     {
          return 
ClienteDAO;
     }

     public class 
getForm()
     {
          return 
ClienteFORM;
     }


lo que no estoy pudiendo hacer es:

Código PHP:

<?

$persona 
= new Persona();

$cliente = new Cliente();

$DAO = new $persona->getDAO();  //  <- eso no se puede...
/**
$obj = $DAO->datos();

$DAO = new $cliente->getDAO();

$obj = $DAO->datos();

etcetera

**/

?>
Ah otra cosa que no me quedaba demasiado clara... para persistir objetos en memoria a traves de varios requests... casi la unica forma viable es usando la sesion y serialize() unserialize() no?


Cualquier sugerencia sera bienvenida. Muchas gracias por su tiempo.

Última edición por Core2Quadro; 25/11/2006 a las 23:00