Que me atasco ya en lo más básico y no sé por qué no me chuta el asunto, así que si me puede alguien explicar la razón de que un objeto no guarde un valor que le cambio después de creado le quedaré bien agradecida.
Es con PHP4.
Tengo una clase Uno y una clase Dos que extiende a la primera.
Desde la primera (Uno) creo uno o más objetos de la clase Dos y los guardo en un array dentro de Uno.
En Uno tengo también una función para cambiar un determinado valor .
finalmente en Uno hay una función para escribir los valores de los objetos guardados en el array.
Código PHP:
class Uno{
var $elementos;
function uno(){
$this -> elementos = array();
}
function cambiaAtributo(){
$this -> valor = 'maria castaña';
}
function agregaDos($nombre = 'campo[]', $valor = 'valor'){
$this -> elementos[] = new Dos($nombre, $valor);
}
function escribe(){
foreach($this -> elementos as $v){
echo $v -> valor . '<br />********<br />';
}
}
}
Código PHP:
class Dos extends Uno{
var $nombre;
var $valor;
function dos($nombre = 'campo[]', $valor = 'valor'){
$this -> nombre = $nombre;
$this -> valor = $valor;
}
}
Código PHP:
$pepe = new Uno();
$pepe -> agregaDos('nombre', 'perico');
foreach($pepe -> elementos as $v){
echo $v -> valor . '<br />********<br />';
}
Código PHP:
foreach($pepe -> elementos as $v){
$v -> cambiaAtributo();
echo $v -> valor . '<br />********<br />';
}
Código PHP:
foreach($pepe -> elementos as $v){
echo $v -> valor . '<br />********<br />';
}
Cita:
¿Por qué? ¿Qué error de concepto tengo? (o cual de todos mis errores de conceptos es exactamente en este caso)perico
********
maria castaña
********
perico
********
********
maria castaña
********
perico
********
Si me leíste hasta aquí, gracias verimach.
Saludos