Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/01/2005, 15:50
Herminio Heredia San
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 23 años, 5 meses
Puntos: 6
Si te entiendo bien, lo que quieres hacer es tener un lugar comun de donde hacer referencia de una clase ya instanciada para no tener que volver a crearla. Si es asi, puedes usar el patron singleton que se asegura de devolverte una istancia nueva solo si no hay ya una existente.
Ahora que si tu problema es tener una relacion de todas las istancias de clase que hay durante la ejecucion de tu script posiblemente almacenar la referencia del objeto en un arreglo sea la solucion o implementar la interface Iterator de php5 o crear una para php4.
Para el primer caso una implementacion del Singleton en php5 podria ser la siguiente;
Código PHP:
class Ejemplo{
   static private 
$instancia null;     
   public 
$atributo;

   private function 
__construct($var){
       
$this->atributo $var;
   }
   
   public static function 
instSingleton($var){
       if( 
self::$instancia == null ){
       
self::$instancia = new Ejemplo($var);
       }else{
       return 
self::$instancia
       }
   }
   
   public function 
obtAtributo(){
       return 
$this->atributo;
   }


$x Ejemplo::instSingleton('unica instancia');
echo 
$x->obtAtributo();
$y Ejemplo::instSingleton('devuelve la misma instancia');
echo 
$x->obtAtributo(); 
Para el segundo caso puedes usar el iterador para alamcenar las instancias y pasarlo como parametro a los objetos que lo necesiten.

Si esto no es lo que estabas preguntando pues una disculapa por el choro mareador que escribi jejeje.