note 11325 rejected from language.oop by sander

From: Date: Sat, 06 Apr 2002 18:58:43 +0000
Subject: note 11325 rejected from language.oop by sander
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-28733@lists.php.net to get a copy of this message
Buenasss otra vez: Parece ser que en PHP los objetos estan intimamente relacionados con las variables que los albergan. No sucede como con otros lenguajes como JAVA y C++, donde la referencia al objeto y el objeto propiamente dicho no estan tan asociados. En Java nosotros podemos declarar un objeto, tener una referencia a él en una variable, y si queremos, podemos dar otro valor a la variable que tenia la referencia y el objeto no sufrirá cambios. En php por el contrario, las variables que tienen las referencias y los objetos están muy relacionadas. Si nosotros cambiamos la referencia a un objeto para darle el valor de otra referencia, veremos como el objeto original (al que se apuntaba al principio) ha desaparecido (NO EXISTE). Esto implica que si queremos crear un numero indeterminado de objetos (usando por ejemplo un bucle for) no podemos usar la misma referencia (variable) para crear todos los objetos. Hay que ingeniarselas para obtener un nombre diferente de variable en cada iteracion del bucle. Para eso podemos usar la tecnica de 'variable variables', por ejemplo: for($i=0;$i<100;$i++) { $varname="prueba".$i; // creamos el objeto $$varname= new Objetc(); } como se ve en el codigo, en cada iteracion declararemos una variable diferente, con lo que no sobreescribiremos objetos. Saludos desde Córdoba.

« previous php.notes (#28733) next »