Cita: Era lo que imaginábamos, si entendimos bien lo que comentas significa que el PHP no guarda el ambiente de objetos por cada Request, o sea, lo regenera por cada solicitud.
Esta discusión la tuvimos en algún momento, y refresco el tema: aquí estamos en un entorno "desconectado" ("stateless") y eso es simplemente el concepto base de la web (me solicitan información, el servidor la devuelve, posteriormente se olvida quién la pidió).
Lo que sucede posteriormente es que las arquitecturas (como Java) crean "capas" para resolver este tipo de "situaciones" y buscan esa practicidad que obtienes cuando trabajas en el escritorio ("nunca te desconectas").
Cita: Esto limita un poco el diseño de objetos, ya que encapsular la información dentro de los objetos de forma anidada hace que los objetos sean muy "pesados" para estar creándolos por cada request que según me comentaron esto es bastante común en Java.
Bien, pero eso es porque la arquitectura Java lo resuelve de otra forma (pero abajo de la arquitectura sigue estando el "stateless"). Pero tú no estás ahora en Java, y menos en una arquitectura, estás sobre un lenguaje.
Lo de "objetos pesados" es un problema de diseño, que perfectamente lo puedes resolver con un patrón Proxy.
Cita: De hecho en el diseño que estamos viendo, hay muchos objetos que tienen dentro, colecciones de objetos anidadas, de manera que se pueda manipular la informacion del objeto para un fin determinado, de una forma tipo $valorItem = Usuario>Facturas>Factura>Items>Item>Valor,
¿Y realmente necesitas cargar toda esta información de esta forma para resolver ese problema?
Cita: Sinceramente pense que el PHP5 tendria alguna forma de manejar la persistencia de los objetos en el ambiente, sin estar recreandolos desde la base
de datos, ya que apunta mas al paradigma de objetos esta version.
El paradigma no tiene nada que ver con la persistencia que buscas, el problema es que tú estás buscando trabajar igual que en Java y hay muchas distancias.
Cita: Pero si no es así, creo que es importante tener en cuenta esta cuestión al momento de realizar el diseño de un sistema, ya que si se crean objetos así, el sistema usaría todo el tiempo recursos del servidor de forma innecesaria.
No es tan así, pero tienes que tener en cuenta tu contexto.
Cita: Creo que este seria un motivo para considerar distinta la aproximacion a la POO de PHP5 que otros lenguajes.
Nuevamente, la POO no tiene nada que ver en tu problema concreto.