Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/08/2010, 20:25
Avatar de maturano
maturano
 
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: arreglos de objetos

Hola, perdón si no me detengo a leer todo el código pero, viendo el objetivo que se quiere conseguir, pregunto: ¿no te sirve el método mágico __get()?. Con ello accedes al índice del arreglo y regresas la instancia de la que haces referencia.

Ejemplo consiguiendo lo mismo (aunque en la práctica difieran. Repito: no veo con detenimiento el código)
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Bar
  4. {
  5.     public function metodoBar()
  6.     {
  7.         echo 'Método de Bar';
  8.     }
  9. }
  10.  
  11. class Foo
  12. {
  13.     protected $_objetos = array();
  14.  
  15.     public function __construct()
  16.     {
  17.         $this->_objetos['prueba'] = new Bar();
  18.     }
  19.  
  20.     public function __get($instancia)
  21.     {
  22.         return $this->_objetos[$instancia];
  23.     }
  24.  
  25.     public function imprimeBar()
  26.     {
  27.         $this->prueba->metodoBar();
  28.         // En lugar de
  29.         // $this->_objetos['prueba']->metodoBar();
  30.     }
  31. }
  32.  
  33. $foo = new Foo();
  34. $foo->imprimeBar();
__________________
I ♥ The Music!

Última edición por maturano; 02/08/2010 a las 17:12 Razón: Corrijo typo en código