Pregunta: ¿Como funcionan las referencias de los atributos entre clases?
Respuesta: El siguiente ejemplo es la actualizacion de un atributo de una clase A a traves de otra clase B.
Código PHP:
class A{
var $vblA=0;
function A($num){
$this->vblA=$num;
}
function &getvbl(){
$r=&$this->vblA;
return $r;
}
function setvlb($num){
$this->vblA=$num;
}
}
class B{
var $miarray=null;
function B(){
for($i=0;$i<5;$i++){
$this->miarray[]=new A($i);
}
}
function prueba($i){
$elemento=$this->getElemento($i);
echo 'Elemento antes de actualizar: '.$elemento->getvbl().'<br>';
$elemento->setvlb(1000);
echo 'Elemento despues de actualizar: '.$elemento->getvbl().'<br>';
echo 'Comprobacion con array ya actualizado: '.$this->miarray[$i]->getvbl();
}
function getElemento($i){
$retorno=null;
for($j=0;$j<count($this->miarray);$j++){
if($i==$j){
$retorno=$this->miarray[$j];
}
}
return $retorno;
}
}
$b=new B();
$b->prueba(1);